廖雪峰的官方网站。
请注意区分命令行模式和Python交互模式。
1在Python交互式模式下,可以直接输入代码,然后执行,并立刻得到结果。
在命令行模式下,可以直接运行.py文件。
2运行其实和java运行一样 cd dir
3 print() input()
4数据类型 整数 浮点数 字符串:如果字符串内部包含单引号或者双引号,可以用转义字符\来标识。print('I\'m ok.')I'm ok.\n换行 \t制表\\表示的是\
布尔值可以用and or not运算 空值 是python里一个特殊的值,用none表示,none不能表示为0,而是一个特殊的值。 变量不能用数字开头。 常量
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数。
//称为地板除,两个整数的除法整数仍然是整数。
5ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。
6python保存的字符串类型是str,如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。Python对bytes类型的数据用b前缀的单引号或双引号表示。
例:x=b’ABC’要注意区分'ABC'和b'ABC',前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。
在unicode表示的str通过encode()方法可以编码为制定的bytes。把bytes变为str,需要使用decode()方法。
7计算str包含多少个字符/bytes就是字节数,可以用len()函数
8format()格式化字符串。
9 python内置的一种数据类型是列表。list是一种有序的集合,可以随时添加和删除其中的元素。Len()可以获得list元素的个数,索引是从0开始的。
10删除list末尾的元素,用pop()方法。删除指定位置元素,用pop(i)i是索引位置
11list里面的元素数据类型也可以不同,元素可以是另一个list。
12 tuple 有序列表,一旦初始化就不能更改。
13条件语句 int()函数把str换成整数。
14循环 for......in while break作用是提前结束循环,continue是跳过这次循环,直接开始下一次循环。
15 dict() 判断key是否存在用in还有通过dic提供的get()方法。如果key不存在可以返回none,或者指定的value。Pop(key)对应的value也会从dict中删除。
16set是一组key的集合,但是不存储value.由于key不能重复。在set中没有重复的key。
17add(key)方法可以添加元素到set中。可以重复添加。但是没效果。remove(key)可以删除元素。
18 函数 abs 绝对值 max最大值函数 int其他数据类型转换为整数。Python内置函数。
19定义函数 ,python自己本身有很多函数。官方网站有。函数参数。
20定义函数 def hello();define的意思,用来定义函数。
21登记函数 enroll
22定义默认参数要牢记一点:默认参数必须指向不变对象!
23可变参数 关键字参数 命名关键字参数*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。
使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*,否则定义的将是位置参数。
24 递归函数。
25 高级特性。
1切片:L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
L[1:3]从索引1开始,取出2个元素出来。
L[-10:]后十个数
L[10:20]前11-20个数
L[:10:2]前10个数,每两个取一个
L[::5]所有数,每5个取一个
只写[:]就可以原样复制一个list。
2迭代
3列表生成式
list(range(1,11))生成1到10
写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来。[x * x for x in range(1, 11)]生成的是平方。
4生成器 generator
generator是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。
要理解generator的工作原理,它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。对于函数改成的generator来说,遇到return语句或者执行到函数体最后一行语句,就是结束generator的指令,for循环随之结束。
请注意区分普通函数和generator函数,普通函数调用直接返回结果
5迭代器
凡是可作用于for循环的对象都是Iterable类型;
凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;
集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。
Python的for循环本质上就是通过不断调用next()函数实现的。
网友评论