python学习(廖雪峰的官方网站)

廖雪峰的官方网站。

请注意区分命令行模式和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()函数实现的。

你可能感兴趣的:(python学习(廖雪峰的官方网站))