10、集合(元组、列表、字典)
集合(set)是一个无序的不重复的元素序列,它是可迭代的,没有重复元素(每个元素都是唯一的)
○ 集合中的元素不能重复。
○ 集合中的元素是不可变的(不能修改),但整个集合是可变的。
○ 没有索引附加到python集中的任何元素。因此,它们不支持任何索引或切片操作。
备注:Python中的集合通常用于数学运算,如交集、并集、比较等。与列表相比,使用集合的主要优点是它具有高度优化的方法,用于检查集合中是否包含特定元素。
注意事项:1、当元组只有一个元素的时候要加逗号
2、当创建空集合的时候需要用到set
3、字典的键不能用可变类型数据
11、字符串常用方法
12、函数
函数是一系列语句的集合。
让一系列代码复用。
可变参数与组合参数
13、全局变量和局部变量
全局变量:整个py文件任何地方都能调用
局部变量:只在函数内部有效
在函数内部要修改全局变量的时候,一定要声明global
返回值和prin方法不太理解
print的功能只是把变量打印到控制台上
没必要关心函数内部是怎么实现的,但是调用该函数的时候,这个函数会返回我想要的结果。接下来你对这个结果可以做任何操作。
return有返回值的功能 并且结束函数的功能 支持返回多个值,多个值的是元组
返回值
函数默认的返回值是none
14、递归函数
函数调用自己
函数一定要有终止条件
15、匿名函数
没有名字的函数,匿名函数只能有一个式子。匿名函数只能计算一些简单的操作、复杂的操作请用普通函数
16、面向对象
面向对象是一种编程思想
类:具有相同属性或者相同行为的一类事物,就叫类,类是抽象的
对象:对象是类的具体实例
世间万物都是对象的
车类-面包车
属性
行为
run 面包车.run()
_init_方法会在创建对象的时候自动执行
self指的是对象本身
_str_返回什么值 打印对象的时候就会打印什么值
房间类
属性:
行为:
属性和方法 你不能直接调用 这个属性就是私有属性 私有方法
我们利用公有方法 可以对私有属性的值进行校验
私有属性 可以避免子类直接访问 和名字冲突问题
私有方法 可以避免直接被调用 也影响子类调用
公有方法可以改变私有的类属性 也可以改变私有的实例属性
实例属性:对象的属性
类属性:定义类的属性,有全局的含义
私有实例属性:不想让外部直接访问,不想让外部访问,可以把属性定为私有的
私有类属性:不想让外部直接访问,不想让外部访问,可以 把属性定为私有的
静态方法:不引用类属性、或者实例属性、实例方法,它是独立的个体。
@staticmethod修饰的方法叫静态方法,静态方法里面不能写self但是可以写参数
静态方法支持类或对象直接调用
类方法:@classmethod修饰的 可以访问类属性,
类方法跟静态方法的区别是 一个可以访问类属性 一个不能访问类属性
面向对象的三大特性
封装:1、把属性封装到对象当中,方便调用。2、把相同的功能封装到同一方法中,方便调用
继承:python中顶级父类是object。
如果不同类中有相同的行为,这个时候我们就要考虑用到继承。减少代码,实现代码复用。当父类的行为满足不了子类行为的时候,我们就需要重写。
super(). xxx 在合适的地方可以调用父类方法
私有属性和私有方法 不能继承
在python3当中 继承是广度继承 在python2当中 类你不写obeject继承是深度继承
isinstance 可以判断一个对象是否某个类的实例
isinstance(对象,类)
多态
同一种事务 具有多种形态
多态的前提是有继承和重写
单例模式
不管你创建多少个对象 我们在内存中只有唯一的对象
前部分 学的是解决问题的逻辑
后部分 学的是解决问题的思想