说在开头:这是我学习Python过程中的读书笔记,内容不全,会边学习边补充。如果文中有说法错误的地方,欢迎大佬指正~
1.常用快捷键:
2.良好的编程习惯:
3.程序员需遵守的格式约定:
1.Python始终记录的是变量的最新值。
2.变量命名规则:
3.字符串必须由引号括起来,单双不限。反过来,由引号引起来的就是字符串。
4.修改字符串的大小写:
5.合并(拼接)字符串:
6.制表符和换行符:
“\n”、“\t”:一个是换行、一个是水平制表符(其实就是空四格,在Python里没有C语言里的花括号{},全是靠缩进来区分,所以缩进很重要!)。
而且它们是转义字符,只能在print里用,而且必须加引号!↓
7.删除空白:
需要理解“空白很重要”的含义,即搞清楚为什么需要删除空白,我目前知道的两点原因:1.占据内存空间;2.空白很有可能隐藏信息,是安全隐患。
8.避免想要输出引号导致的语法报错,我的建议是当你需要输出单引号是,两端就用双引号;需要输出双引号时,两端就用单引号。
9.数字:
1.定义:列表是一系列按特定顺序排列的元素的组成(元素之间不一定有联系)。
2.修改列表元素:
3.列表中增加元素:
4.从列表中删除元素:
5.组织列表:
6.确定列表长度:
1.用for循环遍历列表:
for 变量 in 列表:
循环语句
2.创建数字列表:
3.对数字列表执行统计计算:
4.列表解析:
5.切片:
6.复制列表:
7.元组:
1.在Python中检查是否相等时区分大小写,两个大小写不同的值会被视为不相等。
2.检查条件:
3.if后面可以检查特定值是否在列表中:
if user in username:
代码块
if psw not in password:
代码块
4.如果只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就使用一系列独立的if语句。
5.确定列表是不是空的:
if 数组名: #数组中至少包含一个元素时,返回true,执行代码块1
代码块1
else: #数组为空时,返回false,执行代码块2
代码块2
1.字典是用放在花括号{}中的一系列键-值对表示。
字典名 = {‘键’:’值’,’键’:’值’}
2.操作:
字典名[‘键’]
字典名[‘键’] = 新值
字典名[‘键’] = 值
del 字典名[‘键’]
3.使用字典来存储用户提供的数据或者编写能自动生成大量键值对的代码时,通常需要先定义一个空字典。
字典名 = {}
字典名[‘键’] = 值
字典名[‘键’] = 值
4.需要使用多行来定义字典时,再输入左花括号后按回车键,再在下一行缩进四个空格,指定第一个键值对并在它后面加一个逗号,此后你再次按回车键时,文本编辑器将自动缩进后续键值对,且缩进量与第一个键值对相同,在最后一个键值对的后面加上逗号,然后在下一行输入右括号。
较长的print语句分成多行:
5.遍历:
遍历字典时,键值对的返回顺序与存储顺序不同,Python不关心键值对的存储顺序,只跟踪键值之间的关联关系。
for key,value in 字典名.items():
for key in 字典名.keys():
for value in 字典名.values():
6.嵌套:
1.函数input()让程序暂停运行,等待用户输入一些文本,获取用户输入后,Python将其存储在一个变量中,以方便后续使用。
2.提示超过一行时,可以创建多行字符串。使用运算符+=在存储在变量1中的字符串末尾附加一个字符串。
变量1 = “这句话太长了,一排打不下”
变量1 += “所以使用+=在后面再接一串”
Message = input(变量1)
3.input获取的内以str的形式存储,如果输入21想作为数字使用而不是字符串,就需要int()转换类型。
4.求模运算符%:
5.标志:
6.break和continue:
1.定义函数:
def 函数名():
函数体
2.形参和实参:
在给形参指定默认值时,等号两边不要有空格;在函数调用传递实参时,等号两边也不要留空格。
5.默认值:
6.让实参变成可选的:
7.返回字典:
8.传递任意数量的实参:
(1)预先不知道函数需要接收多少个实参时,可以定义一个带星号的形参。
(2)结合使用位置实参和任意数量实参:
(3)使用任意数量的关键字实参:
9.将函数存储在模块中:
(1)导入整个模块
(2)导入特定的函数
(3)使用as给函数指定别名
(4)使用as给模块指定别名
(5)导入模块中的所有函数
1.类:
在Python中,首字母大写的名称指的是类。这个类定义中的括号是空的,因为我们要从空白创建这个类。
2.方法:
(1)类中的函数称为方法。
(2)init()是一个特殊的方法。在方法名称中,开头结尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。init_应该是两个,即__init__,否则会报错:
(3)在_init_()方法的定义中,形参self必不可少,还必须位于其他形参前面。
(4)创建实例时,只需要给self后面的形参提供值。
(5)init()方法中定义的变量都需要用句点表示法带上前缀self。
(6)“self.name”这样可以通过实例访问的变量称为属性。
(7)传参示意:
(8)Python调用_init_()方法创建类时,将自动传入实参self。每个与类相关联的方法都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。
3.实例:
(1)“my_dog”就是实例。类构造出来的内容,需要拿个东西装着,这个东西就是实例。将参数willie和6传入类Dog中进行构造,得到的内容存放在实例my_dog中。
(my_dog是变量名,用它来存储实例。)
(2)我们通常认为首字母大写的名称指的是类,而小写的名称指的是根据类创建的实例。
4.访问属性:
(1)要访问实例的属性,可使用句点表示法。
(2)在这里Python先找到实例my_dog,再查找与这个实例相关联的属性age。在Dog类中引用这个属性时,使用的是self.age。
5.调用方法;
6.给属性指定默认值:
可以在方法__init__()中指定初始值,且不需要包含为它提供初始值的形参。
7.修改属性的值:
(1)直接修改属性的值:用句点表示法通过实例直接访问并设置它。
(2)通过方法修改属性的值:
6.继承:
(1)一个类继承另一个类时,它将自动获得另一个类的所有属性和方法;原有的类称为父类,而新类称为子类。子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。
(2)定义子类时,必须在括号内指定父类的名称。
(3)super()是一个特殊的函数,帮助Python将父类和子类关联起来。
父类也称超类(superclass),名称super因此而得名。
7.给子类定义属性和方法:
8.重写父类的方法:
对于父类的方法,只要它不符合子类模拟的实物的行为,都可对其进行重写。即在子类中定义一个与需要重写的父类方法同名的方法。
9.导入类
Python允许你将类存储在模块中,然后在主程序中导入所需的模块。
(1)导入单个类:
创建一个只包含Car类的模块(即将Car类存为car.py)。
每一个模块都应该编写一个模块级文档字符串,对该模块的内容进行简要的描述。
创建另一个文件my_car.py,在其中导入Car类:
import语句让Python打开模块car,并导入其中的Car类。
(2)一个模块中存储多个类:
(3)从一个模块导入多个类时,用逗号分隔各个类:
(4)导入整个模块:
(5)在一个模块中导入另一个模块:
10.Python标准库
(1)Python标准库是一组模块,安装的Python都包含它。
(2)标准库中的模块collections,其中的一个类OrderedDict:
字典让你能够将信息关联起来,但它们不能记录你添加键值对的顺序,要创建字典并记录其中的键值对的添加顺序可使用模块collections中的一个类,OrderedDict。
11.类的编码习惯:
(1)类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。
(2)实例名和模块名都采用小写格式,并在单词之间加上下划线。
(3)在类中可使用一个空格来分隔方法,而在模块中可以使用两个空格来分隔类。