[]列表 用的最多一般都用列表
{}字典、集合 类型是集合,值不可有重复
()元组 不可改
end=" " 在打印中用来换行的
== 是比较两个对象是否相等。
is is 是比较两个引用是否指向了同一个对象(引用比较)
python为了实现对内存的有效利用,对小整数[-5,256]内的整数会进行缓存
在函数中改变全局变量如果是可变类型可以全局变量进行改变
如果在函数中改变全局变量要在耿数增加“global 变量名”
不然改变的变量只能在函数本身变化,在别的函数调用全局变量时不生效
在函数中num+=num 与 num=num+num 不一样
num+=num 是对自身相加
num= num+num 是把num+num的值赋值给num
当列表[100]时
num+=num 结果为[100,100]
num= num+num 结果为[200]
init 初始化对象
str 当有这个方法的时候return什么打印对象的时候就会打印什么
__方法名 私有方法不能在类外直接调用,可以在内的方法调用
del 方法的对象结束前自动调用
new(cls) 创建对象(object默认方法)参数cls是类的名字
if name == ‘main’:
作为脚本直接执行时,其下缩进的代码会被执行
被import调用时(模块重用),其下代码不会被执行
异常格式
try:
代码
except 异常的名字: #即出错异常提示的名字,可以有多个execpt
异常处理
except 异常的名字:
异常处理
except (异常的名字,异常的名字):多个异常在一个except里可以用()括号括起来设置为元组
异常处理
except Exception: as 变量名 #Exception是所有异常的总称,只要上面的except没捕获到,这个except一定可以捕获到
异常处理
print(变量名) 可以查看异常提示
else: #只有没有异常才会执行
代码块
finally: #不管有没异常都会执行(用于关闭文件)
代码块
抛出异常
先自定义一个异常类
class 类名(Exception) #继承Exception这个类
def init(self,length,atleast): #参数根据需要填写
self.length=length
self.atleast=atleast
def 方法名:
try:
代码块
raise 自定义的异常类名
except 自定义的异常类名 as 变量名
代码块
print(错误提示)
else:
没错误后执行的代码
包
要有__init__.py这个文件
all = [“模块名”]
from . import sendmsg 导入模块
文件里要导入模块才有在PYTHON里正常使用
range()可以生成列表 在PYTHON中什么时候用什么时候生成值
a=[i for i in range(1,18)] 自动生成1到17的的列表,for只负责循环次数i才是生成的值
第二个i是循环的次数,这里第一个i是生成什么值,即把每次都把循环的次数打印出来
a=[11 for i in range(1,18)] 即生成一个列表里面有18个11
eval() eval() 函数用来执行一个字符串表达式,并返回表达式的值。
copy.deepcopy 深拷贝,重新指向内存,存内中有引用也一齐拷贝
copy.copy 浅拷贝、重新指向内在,内存中有引用继续引用指向(元组是不可变类型就会变成引用)
为一个数添加方法
1、导入types
import types
2.添加方法
types.MethodType(函数名,对象名)
对象名.函数名 = types.MethodType(函数名,对象名)
例
p1.run=types.MethodType(run,p1)
执行
p1.run()
@staticmethod 静态方法
@classmethod 类方法
slots 在添加类的时候规定属性,超过范围的属性会报错。
yield 加了这个的函数会被视为是生成器,需要用变量接收返回值。直接调用不会被执行