这是我自己学习Python的三个星期的小总结,内容包含了规范、数据类型、函数、类和捕捉异常,做了一个简单的梳理,希望可以帮助到和我一样开始学习Python的小伙伴,也希望多多支持,相互进步,下面步入正题。
基础规范
Python-Python编码规范(PEP8)
PEP8操作规范
变量和简单数据类型
Python的基本变量类型包括五大类:字符串、数字、列表、元组、字典
字符串的操作:字符串操作
数字的操作:数字处理操作 和 数字基本类型
数字在这里分为整数、浮点数、复数、布尔
逻辑运算符:或与非,and、or、not
数据类型转换:除了强制转换,里面还有一些内置函数
条件分支与循环
if循环:
if True: print(1232) elif True: print(1212) else: print(1234)
while循环:
i = 1; while i<2: print(i) i += 1
for循环,variable接收sequence集合中获取的成员对象,循环一次接收一次。
-
for<variable> in <sequence>: 子代码模块1 else: 子代码模块2
rang函数,格式为range(start,stop[,step])
循环控制语句:break,continue
复杂条件及其处理:
-
成员运算符:
-
in:在指定的序列里面找到值,返回true
-
not in:在指定的序列里面找不到值,返回true
-
-
身份运算符:
-
is:判断两个标识符是不是引用自一个对象,是,返回True
-
is not:判断两个标识符是不是引用自一个对象,不是,返回True
-
列表
列表是内置有序、可变序列,列表的所有元素放在一对中括号“[]”中,并使用逗号分隔开。
列表的解释
列表的使用
列表的使用2
对于列表来说,主要的特点在于它的存储不需要考虑数据的类型,什么都可以存进去。对于下标访问的方式可以注意一下。
元组
元组与列表不同的点:元组不能对其元素进行变动
这里的不可变,包括不能增加元素、变换元素位置、修改元素、删除元素的操作
元组的操作
字典
可存储任意类型对象。如字符串、数字、元组等其他容器模型。因为字典是无序的所以不支持索引和切片。字典属于一对一映射关系的数据类型。
注意:元组可以做为字典的key值,但是列表不可以作为key值,这是由于 dict 要求 key 必须是不可变类型,但列表是可变类型,因此列表不能作为元组的 key
-
键的设置要求:唯一性 不可变性
-
值的设置要求:可以是Python支持的任何对象
字典的使用1
字典的使用2
函数
-
代码简练
-
提高代码编写效率和质量
-
代码功能可以共享
需要注意的点:
-
先定义,再调用
-
在定义函数的时候,应使用函数文档
-
建立一个函数模块和学会如何调用
-
传递元组、列表、字典值:若在函数内部对她们的元素进行变动,则会同步影响函数外部传递前的变量的元素,可以通过复制方式来传递
函数与变量作用域
global的作用:让全局变量的值,在函数里面可以被修改
闭包:有一种函数里面还有内嵌函数的意思。闭包变量位置在外函数与内部嵌套函数之间
匿名函数:匿名函数的定义与使用
递归函数:递归一次,在内存中开辟一个新的地址空间,记录递归过程状态,一直递归分解到最小范围,最后得出要么找到对应的值,要么返回找不到的结果。
类
面向对象是一种对现实世界理解和抽象的方法
类:把具有相同特性的行为的对象抽象为类
一个类
-
class关键字,class 类名():
-
类文档说明
-
类函数
-
保留构造函数_init_()和self关键字
self关键字,在实例使用时,用于传输实例对象(其实传递的是实例对象在内存中的一个地址)
实例
实例是把类通过等号(=)赋值给一个变量的过程,就是实例化过程,这个变量就是实例。实例的核心是由属性和方法组成。
实例的属性和方法
-
属性:实例名.属性名。属性定义以及属性名确定在_init_初始化实现。
-
方法:实例名.方法名()。所定义的方法必须必须提供self参数
属性
浅谈Python的属性和方法 里面有私有属性这些的介绍
私有属性 主要介绍私有属性
属性是通过_init_函数定义,并通过self传递给实例的一种数据类型。
属性值修改:
-
直接对属性值修改。实例对象的属性,具有读、写值功能
-
通过方法对属性值进行修改
-
把类赋给属性
方法
Python的类方法、静态方法和实例方法的使用
对方法的一个总结
继承和多态
继承,就是在继承原有类功能的基础上,增加新的功能,形成新的子类,被继承的叫父类。
Python类的继承和多态
Python类的继承和多态-2
静态类
不支持实例的静态类的特点:
-
内部没有self关键字,所以不能实例化
-
静态类不能通过类名传递参数
-
静态类不支持_init()_初始化函数
-
静态类可以理解成带结构的数据类型
异常
隐性错误主要指代码编写存在逻辑错误或缺陷,当程序满足特定数据处理条件时,报错或给出错误答案。
try: 代码模块1 except: 代码模块2
如果在代码模块一中运行错误,则会执行代码模块二,否则忽略代码模块二。
还有一个情况是无论程序是否报错,都需要处理的一些代码功能,比如说读取一个文件,最后需要关闭的步骤是需要执行的,需要用到finally
try: 代码模块1 except: 代码模块2 finally: 代码模块3
我们还可以使用raise关键字来抛出自己想说的异常
我们还可以捕捉特定的异常信息
异常的处理方法