Python 学习笔记
发布时间:2022-06-18 07:12:31
可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2008/11/03/python-memo/以及本声明。
基本概念
Python居然支持复数。如(-5+4j)。但要注意虚数单位单独使用时要写成 1j,不能写成 j。
与Perl和PHP的区别:单引号和双引号没有任何区别。没有插值功能。
三引号:''' 和 """ 相当于Perl的heredoc。
行尾不需要用分号,分号仅用于一行写多条语句的情况。跟BASIC的冒号有些相似。
缩进是有语义的!建议使用TAB缩进
运算符与表达式
运算符 ** 乘幂,Perl也有。
字符串的 * 表示重复,相当于Perl的 x 运算符。
居然还有专用于整除的 // 。别跟Perl 6的 // 混淆了。
控制流
if-elif-else,Perl为if-elsif-else,bash为if-elif-fi
if、elif等控制流语句后面要加冒号,很像PHP的语法
while和for循环可以带else,循环正常结束时就会执行else。不用像C语言那样,循环结束时要检查循环变量是否等于终值,以判断是否正常结束。赞
range函数生成的结果不包括终点。比较:Perl的 .. 运算符包括终点。所以,Python的range(a,b)理解成C语言的 for(i=a;i<b,i++) 好些。
什么都不做的pass语句,算是个python特色
函数
函数中使用全局变量需要用global关键字,类似于PHP
DocString,又一个python特色,函数的第一个逻辑航的字符串作为文档字符串。类似于POD和javadoc,不过是写在函数体内的。还能通过"函数名.__doc__"访问
lambda:类似于perl的闭包
数据结构
列表:定义方式为 a=[1,2]。等价于perl的数组/列表
元组(tuple):定义方式为 a=(1,2)。
要注意列表中的列表不会被打散,如 a=[1,2], b=[a,3,4],结果就是 b=[[1,2],3,4]。这一点与Perl不同。
字典:定义方式为 c={'a':1, 'b':2}。等价于perl的散列。注意两点:
定义和访问时,key必须用引号引起来。
使用{}定义,使用[]访问,即c['a']。与Perl不同。
列表赋值是引用赋值。要想拷贝,必须用切片:b = a[:]。Perl程序员要注意。
列表的sort会改变原列表。
例外
try-except-finally,相当于java的try-catch-finally
还有else,当没有发生异常、正常结束try块时执行。跟for/while的else块一样
故意抛出异常叫raise,java里面叫throw
面向对象
类的__init__函数类似于C++的构造函数;__del__函数类似于C++的析构函数。
类方法定义的第一个参数必须为self,调用时这个参数会被传递为对象本身。类似于perl,perl中第一个参数也会被传递为对象本身,不过需要程序员自己写 my $self = shift; 来接收。
用C++的话来说,所有成员函数都是虚函数。
调用基类方法时要手工传递self,如 Parnet.__init__(self, name)。
模块
import foo; 相当于perl的 use foo;
from foo import bar 相当于perl的 use foo qw/bar/;


猜你喜欢
- 简而言之,channel维护了一个带指针的接受和发送的队列,其中包含mutex锁保证并发安全,数据类型,元素个数,元素大小,channel状
- os.path.dirname() 获取父目录os.path.basename() #获取文件名或者文件夹名python2缺省为相对路径导入
- 论文:Interactive Image Warping(1993年Andreas Gustafsson)算法思路:假设当前点为(x,y),
- 本章是前一章的延续,我们使用RSA算法逐步实现加密,并详细讨论它.用于解密密文的函数是as跟随 :def decrypt(ciph
- 一、下载安装官网下载社区版dmg安装文件: https://dev.mysql.com/downloads/mysql/1、执行安装文件,按
- 本文实例讲述了python二分法查找算法实现方法。分享给大家供大家参考,具体如下:二分法查找二分查找又称折半查找,优点是比较次数少,查找速度
- 1、 <script language="JavaScript"> javascript:window.hi
- 1. 使用readline模块逐行读取流数据1.1. 创建Interface对象在readline模块中,通过Interface对象的使用来
- 本文实例分析了Python中的异常处理try/except/finally/raise用法。分享给大家供大家参考,具体如下:异常发生在程序执
- 最近将Pytorch程序迁移到GPU上去的一些工作和思考环境:Ubuntu 16.04.3Python版本:3.5.2Pytorch版本:0
- 在 Python 中,列表是一种非常常见且强大的数据类型。但有时候,我们需要从一个列表中删除特定元素,尤其是当这个元素出现多次时。本文将介绍
- 我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准
- 一、pycharm字体放大的设置File —>setting —> Keymap —>在搜寻框中输入increase —&
- 如果我们需要修改sql server表结构,应该怎么做呢?下面就将教您如何修改sql server表结构的方法,希望对您学习sql serv
- 1、内容在一屏内显示的,采用了(内容框)上下左右居中的办法,里面的内容绝对于这个内容框定位.这样一来,在不同大小屏中,内容总是在中间,看起来
- 前言:这个先来创建一个模块,名称为christmastree,在该模块中,首先定义一个全局变量,然后创建一个名称为fun_christmas
- 本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下原图图片转换后的成果源码# -*- codi
- 一、pytorch finetuning 自己的图片进行训练这种读取图片的方式用的是torch自带的 ImageFolder,读取的文件夹必
- 大家好,今天我们要讲的是如何使用 Pyecharts 制作动态排名变化图:point_down:制作这样的一个动态图使用到的是 Pyecha
- 废话不多说,直接上代码!@if ($user->id !== Auth::user()->id)<div id="