python3笔记

来源:互联网 发布:淘宝网网店装修教程 编辑:程序博客网 时间:2024/05/22 13:19

1.Python中没有单独的long(长)整型。int(整型)可以是任意大小的整数。

2.使用三重引号-("""或''')指定多行字符串。在三重引号中您可以自由使用单引号和双引号。

3.字符串是不可改变的。

4.age = 20
name = 'Swaroop'

print('{0} was {1} years old when he wrote this book'.format(name, age))

一个字符串可以使用特定的格式,随后调用format方法,用format方法替代那些使用适当参数的格式。使用format 方法,我们可以改变消息,而无需处理使用的变量,反之亦然。还要注意,这些数字(索引)都是可选的,可以略去不写。

5.如果你有一个长代码行,你可以通过使用反斜杠把它分解为多个物理行。这是被称为显式行连接。有时有一种隐含的假设,您不需要使用一个反斜杠。在这种情况下,逻辑行有一个开始圆括号、开始方括号或开始花括号,但不是一个结束的括号。这被称为隐式连接。

6.你可以把:a = a * 3写成:a *= 3

7.range函数返回一个从第一个数字到第二个数字的一个数字序列。例如, range(1,5)给出序列[1, 2, 3, 4]。默认情况下,range 步距取为1。如果我们提供第三个数字,那么它变成了步距。

8.只有在参数列表后面的的参数可以被赋予默认参数值。
9.当我们声明一个星号的参数,如*param,那么从这一点开始到结束的所有位置的参数都被收集到一个叫param的元组中。
同样,当我们声明一个双星参数,如**param,那么从那一点开始到结束的所有关键字参数都被收集到一个叫param的字典中。

10.staticmethod 基本上和一个全局函数差不多,只不过可以通过类或类的实例对象(python里光说对象总是容易产生混淆, 因为什么都是对象,包括类,而实际上类实例对象才是对应静态语言中所谓对象的东西)来调用而已, 不会隐式地传入任何参数。这个和静态语言中的静态方法比较像。
 
classmethod 是和一个class相关的方法,可以通过类或类实例调用,并将该class对象(不是class的实例对象)隐式地 当作第一个参数传入。就这种方法可能会比较奇怪一点,不过只要你搞清楚了python里class也是个真实地 存在于内存中的对象,而不是静态语言中只存在于编译期间的类型。

11.Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是 有效的 。只有一个例外:如果你使用的数据成员名称以双下划线前缀,比如__privatevar ,Python的名称管理体系会有效地把它作为私有变量。

这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他的名称都将作为公共的,可以被其他类/对象使用。记住这只是一个惯例,并不是Python所要求的(与双下划线前缀不同)。

12.使用 self变量,显式地调用基类的 __init__方法,这样我们可以初始化对象的基类部分。这是非常重要的,记住——Python不会自动调用基类的构造函数,您自己必须显式地调用它。

13.每一个try子句,必须有至少一个except子句与之相对应。

14.你可以使用raise语句通过指定错误/异常的名字提出异常,异常对象也被抛出。你可以提出的错误或异常应该是一个类,它必须直接或间接地是一 Exception (异常)类的一个派生类。

15.Errors detected during execution are called exceptions.

16.When an exception has occurred in the try clause and has not been handled by an except clause (or it has occurred in a except or else clause), it is re-raised after the finally clause has been executed. 

17.a, b = <some expression>的用法是表示将表达式的结果作为一个有两个值的元组。

18.如果你想将结果解释为(a, <其它的一切>),那么你只需要以星号开始,就像你在函数参数中做的:
>>> a, *b = [1, 2, 3, 4]
>>> a
1
>>> b
[2, 3, 4]

19.一个lambda语句是用来创建新的函数对象。从本质上讲,lambda取得一个参数,后面有一个函数主体的表达式,而表达式的值由lambda创建的新函数返回。注意,即便是print语句也不能用在lambda形式中,只能使用表达式。

20.assert语句用来声明某个条件是真的。当assert语句失败的时候,会引发一个AssertionError。

21.在处理正则表达式时总是使用原始字符串,否则,需要大量的反斜杠。例如,反向引用可以被指向'\\1'或r'\1'。

0 0