一些无法归类的知识点
- python严格区分大小写
- 建议:变量名称全部小写,常量名称全部大写
- python中的一切都是对象,变量是对象的引用
a=‘Jack’ ,内存中的变量指向内存中的对象 - 字符串是不可变类型
print(self, *args, sep=' ', end='\n', file=None)
- 小整数对象池:python初始化时会自动建立一个小整数对象池
范围是-5到256,连续的内存地址,32位长度 - del关键字,可删除变量、函数、类等等
- python中只有True和False两个值表示布尔类型
- 变量的作用域:以函数为作用块
- range(10) :0~9,左闭右开原则
数据结构
-
列表,可变
list = [1,2,'a','3',{3,4,5}]
-
元组,不可变
truple1 = (1,2,3,4,'5',[1,2])
-
字符串,不可变
-
字典,可变
dict = {‘a’: ‘b’, ‘c’:‘d’}
不定长,可变,散列的集合类型
基于hash散列算法实现的键值对(key,value);
根据key值计算出value地址,非常快速的查取和插入速度
从python3.6开始保持元素的插入顺序 -
集合
set = {“adc”, “sdcf”}
一个无序的不重复元素序列
函数
def func(pos_arg, default_arg = "hello", *args, **kwargs):
pass
- 函数有位置参数,默认参数,动态参数
- 默认参数是给某个参数提供一个默认值,默认参数必须在位参之后
- 动态参数必须在所有的位置参数和默认参数之后
- *args 一个星号表示任意多个参数,**kwargs 两个星表示接收键值对的动态参数
类
- 类的特点:封装、继承、多态
- 类成员:类变量、类方法、静态方法、实例方法
- 实例方法:第一个参数必须是实例对象(self),只能由实例对象调用
- 类方法:装饰器@classmethod,类对象、实例对象均可调用
- 静态方法:@staticmethod,类对象、实例对象均可调用
- 私有成员:__name,变量前加上两个下划线,只是假不可引用,通过 _类名__name可访问
- 建议性的私有成员:_name
匿名函数
f = lambda x:x+1
def f(x):
return x+1
迭代器
list、truple、string、dictionary、set、bytes都是可迭代的数据类型
装饰器
把类方法伪装成属性调用
反射
将字符串变成函数名,实现动态访问
异常
try:
...
except Exception as e:
print(e)
else:
try语句未发生异常时执行;
finally:
无论如何都会执行
raise:主动抛出异常给上层处理