廖雪风python摘录2

---恢复内容开始---

1、在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。

2、对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:

3、由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes

4、%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省。   ‘Hello %s,you have %s money‘(‘Mike‘,1000)错误 ‘Hello %s,you have %s money‘ %(‘Mike‘,1000) 正确!

5、转义,用%%来表示一个%。

>>> ‘%2d-%02d‘ % (3, 1)
‘ 3-01‘
>>> ‘%.2f‘ % 3.1415926
‘3.14‘

6、list如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素

7、list里面的元素的数据类型也可以不同;list元素也可以是另一个list。

8、另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改

classmates = (‘Michael‘, ‘Bob‘, ‘Tracy‘)

9、不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

tuple的每个元素,指向永远不变。即指向‘a‘,就不能改成指向‘b‘,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!



---恢复内容结束---

时间: 2024-12-28 03:27:36

廖雪风python摘录2的相关文章

廖雪峰老师Python教程读后笔记

廖老师网站:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 花几天时间看了廖老师的python教程,现在总结一下. (本人用python工作了一年半,有一定python基础,看过<python核心编程>与部分<python源码剖析>,只把自己觉得有用的记一下) 高级特性 切片,对list和tuple而言 生成器yield,协程用到,用于异步 迭代器Iterable(

【廖雪峰老师python教程】——OOP

概述 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 数据封装.继承和多态是面向对象的三大特点,我们后面会详细讲解. 由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去.通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去: 类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有

【廖雪峰老师python教程】——IO编程

同步IO 异步IO 最常见的IO--读写文件 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). open() read() close() try: f = open('/path/to/file', 'r') print(f.read()) finally

【廖雪峰老师python教程】——进程与线程

多进程 操作系统轮流让各个任务交替执行,任务1执行0.01秒,切换到任务2,任务2执行0.01秒,再切换到任务3,执行0.01秒--这样反复执行下去.表面上看,每个任务都是交替执行的,但是,由于CPU的执行速度实在是太快了,我们感觉就像所有任务都在同时执行一样. 对于操作系统来说,一个任务就是一个进程(Process) 在一个进程内部,要同时干多件事,就需要同时运行多个"子任务",我们把进程内的这些"子任务"称为线程(Thread). multiprocessing

廖雪峰python摘录4

1.直接作用于for循环的对象统称为可迭代对象:Iterable.    可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator. 2.生成器都是Iterator对象,但list.dict.str虽然是Iterable,却不是Iterator. 把list.dict.str等Iterable变成Iterator可以使用iter()函数 3.因为Python的Iterator对象表示的是一个数据流,Iterator对象可以被next()函数调用并不断返回下一个数据,直到没有

廖雪峰python摘录3

1.if判断条件还可以简写x.只要x是非零数值.非空字符串.非空list等,就判断为True,否则为False. 2.这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数.Python提供了int()函数来完成这件事情: s = input('birth: ') birth = int(s) if birth < 2000: print('00前') else: print('00后') 或者 s>'2000' 也可以,需要类型一致才能比较. 要是i

廖雪峰python摘录7

1.我们想要限制实例的属性怎么办?比如,只允许对Student实例添加name和age属性. 为了达到限制的目的,Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性: 2.使用__slots__要注意,__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的. 3.为了限制score的范围,可以通过一个set_score()方法来设置成绩,再通过一个get_score()来获取成绩,这样,在set_score()方法

廖雪峰python摘录二轮2

1 >>> def set_age(self, age): # 定义一个函数作为实例方法 2 ... self.age = age 3 ... 4 >>> from types import MethodType 5 >>> s.set_age = MethodType(set_age, s) # 给实例绑定一个方法 6 >>> s.set_age(25) # 调用实例方法 7 >>> s.age # 测试结果 8

廖雪峰python摘录9

1.如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数.注意uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关的.操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中,这一点要注意一下.查看.创建和删除目录可以这么调用.要拆分路径时,也不要直接去拆字符串,而要通过os.path.split()函数,这样可以把