1 默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。
2 Python中单行注释以#开头,多行注释用三个单引号(‘‘‘)或者三个双引号(""")将注释括起来。
3 python最具特色的就是使用缩进来表示代码块。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
4 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
5 python允许处理unicode字符串,加前缀u或U
6 复合赋值:右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。
7 Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
8 变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
赋值、浅拷贝、深拷贝的区别:
参考https://www.cnblogs.com/wilber2013/p/4645353.html
浅拷贝效果:切片操作、工厂函数、copy.copy
深拷贝效果:copy.deepcopy
9 除法//:得到一个整数;乘方**
10 反斜杠可以作为续行符,表示下一行是上一行的延续。还可以使用"""..."""或者‘‘‘...‘‘‘跨越多行。
11 Python中的字符串有两种索引方式,第一种是从左往右,从0开始依次增加;第二种是从右往左,从-1开始依次减少。对字符串进行切片,获取一段子串。用冒号分隔两个索引,形式为变量[头下标:尾下 标]。
12 Python字符串不能被改变。对于不可变对象,其所谓的replace等操作实际上是返回了一个新的数据,在内存中开辟了新的位置。
13 列表是写在方括号之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同。列表中的元素是可以改变的
14 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号
里,元素之间用逗号隔开。
15 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。
16 集合(set)是一个无序不重复元素的集。可以使用大括号 或者 set()函数创建set集合,注意:创建一个空集合必须用 set() 而不是 { },因为{ }是用来创建一个空字典。
17 字典是一种映射类型(mapping type),它是一个无序的键 : 值对集合。
关键字必须使用不可变类型,也就是说list和包含可变类型的tuple不能做关键字。
在同一个字典中,关键字还必须互不相同。
18 Python3列表
写在方括号内,用逗号隔开。不必是相同的类型。支持嵌套
可以被索引和切片。切片返回的是一个拷贝。
支持+拼接操作;赋值[ ]即清空
.append()在末尾添加新项;修改指定区间值
使用len()统计长度
使用序列表达式 for in 创建列表
在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数同时得到
19 Python3 元组
写在小括号内,元素不能修改
元组只含一个元素,需要添加逗号(50,)
元组同样可以进行连接和复制;使用del 删除整个元组;
Tuple() 将列表转换为元组
20 Python3 字典
写在花括号内,可存储任意类型对象
d = {key1 : value1, key2 : value2 }
键值不可修改,可以用数字、字符串或元组充当,而列表不行;通过键值访问Value
构造函数 dict() 直接从键值对元组列表中构建字典
在字典中遍历时,关键字和对应的值可以使用 items() 方法同时解读出来
21 条件控制
If condition : 条件判断后需要加冒号
使用相同缩进区分代码块
没有switch-case语句
22 循环
While循环:冒号 缩进
For循环:
for <variable> in <sequence>:
<statements>
else:
<statements>
Range(a,b,c) 产生a到b-1的数,以c为步长。默认a=0,c=1
循环中的else语句:循环终止时被执行,但被break终止时不执行
Pass语句
23 迭代器
iter() next()
迭代器只能往前不会后退。可以用于循环
生成器
生成器是一个使用了yield,返回迭代器的函数。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。
24 函数
定义函数使用def关键字
def 函数名(参数列表):
函数体
变量的作用域
默认参数:必须指向不变对象
在参数前加一个*号,将参数变为可变参数。这实际上是一个tuple。传入参数的时候可以传入任意个参数。
函数也可以使用kwarg=value的关键字参数形式被调用 在参数前加**号。这些关键字参数在函数内部自动组装为一个dict。使用特殊分隔符*,后面的参数成为命名关键字参数。命名关键字参数必须传入参数名。
函数可以返回多个值(return x,y)实际上返回的是一个tuple
函数名也是变量。一个函数可以接收另一个函数作为参数为高阶函数。
25 格式化输入输出
Python使用print进行输出。使用逗号分割多个字符串,逗号输出为空格。
str(输出转化为字符串)repr().rjust\ljust\center()将字符串靠右、靠左、中间并填充空格。
使用str.format( )的参数替换字符串中括号及其里面的字符。
使用input()读取输入。注意返回的数据类型是str。使用数据转换函数将其转换为需要的类型。
26 文件读写
27 装饰器
接受一个函数作为参数,并返回一个函数。
使用@语法,可以将装饰器置于函数定义处
把@log放到now()函数的定义处,相当于执行了语句now = log(now)
28 偏函数
当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。