一、基础知识
-
函数
-
返回值
- return xx,是将xx赋值给定义的这个函数。
- 一旦遇到return,return以下的代码不再执行
-
参数
- 位置参数
- 默认参数
- 动态参数
- *args
- **kwargs
-
局部变量和全局变量
- 全局
- 大写
- 修改,global
- 局部
- 小写,仅仅在代码块中能用
-
lambda表达式。my_lambda = lambda arg : arg + 1
-
内置函数
- all()参数为列表或元祖。所有值都为真,输出真。只要有假,就输出false。什么为假?
- 首先要注意:如果输入的列表或元祖。只有一个参数,参数为假,那么最终也是输出真。即all(()),all(({})),all((0)).等输出的都为真
- False
- “ ”空,注意一个空格才是空,两个空格为真。
- []
- ()
- {}
- None
- 0.
- 检验什么为假,bool()一下即可
- any 只要有一个为真,即输出真。
- ascii(对象) 迷之不懂
- 进制
- bin() 二进制0b
- oct() 八进制0o
- int() 十进制
- hex() 十六进制0x
- 进制转换
- a=int("0b11",base=2) a=int(“要转换的进制(0b不加也可以)",base=要转换的进制的数字)print(a)
- 通过上面的方法,可以将任何一种进制转换成10进制。而再上面的所有函数都是将10进制的数转换成别的进制。
- bool(),判断真假,布尔值。假为0,空,[],{},False, None
- bytearray() 字节列表
- bytes("字符串",encoding="utf-8")或者bytes(数字)
- 字节列表就是可以输入一个列表,输出一个列表的字节
- 注意,输入的数字应该在[0:255]之间
- ascii码中的转换
- chr() 参数为10进制或者16进制的数字。输出在ascii码中这个数字位置对应的字符
- ard() 参数为字符。输出这个字符对应的十进制的数字。
- attr
- delattr
- getattr
- hasattr
- setattr
- dir() 查看类都有什么功能
- help() 同上
- divmod 商,余
- eval() 可以执行字符串形式的表达式
- exec() 可以处理字符串形式的函数,代码。 没有返回值,输入即执行,不用赋值给变量。
- filter(函数,可迭代的对象) 函数的结果为True 或False
- 后面再加一个for i in filter制定的变量,print(i)
- 上面讲的这件事的本质与range一样,只有迭代的时候才输出值。
- map(函数,可迭代对象) 结果作为列表返回,同样需要迭代才输出值
- globals() 获取当前所有的全局变量
- locals() 获取当前的多有局部变量
- hash(key) 对key做优化,变成哈希值
- iter() 创建一个可以被迭代的东西,只有在迭代的时候才输出值。
- li=iter([1,2,3,4]) print(li) 结果:<list_iterator object at 0x0000025709B4EDD8>
- for i in li: print(i) 结果:1,2,3,4
- next() 迭代器 返回一个可迭代数据结构(如列表)中的下一项
- li=iter([1,2,3,4]) i1=next(li) print(i1)-结果为1;i2=next(li) print(i2)结果为2
- yield() 生成器,与20迭代器关系密切
- open() 打开文件,做文件操作的。
- open(文件名,模式,编码)
- 模式有:r代表读文本,
- w代表写。不可读;不存在则创建;存在则清空内容;
- x只写。不可读;不存在则创建,存在则报错
- a表示在文件中追加。不可读; 不存在则创建;存在则只追加内容;
- 默认r
- 文件.close() 关闭文件
- 加b表示用字节的方式操作。rb,xb,ab,wb
- r+, 读写【可读,可写】 w+,写读【可读,可写】x+ ,写读【可读,可写】a+, 写读【可读,可写】
- pow(2,3) 指数。2的3次方
- round() 四舍五入
- super() 查看父类
- zip() 将对象逐一配对。同样需要迭代才能获取。
- import
- import random。 调用功能需要:random.randrange()
- r=_import_(random)。 调用功能需要:r.randrange()
- sorted() 排序.
二、有关函数琐碎知识
- import 导入文件:import 文件.py
- 一个=是赋值,两个==是比较
- !=表示不等于
- bin() 将一个整数转换为二进制字串。八进制必须写成0o777,二进制必须写成0b111
- i+=1 相当于i=i+1
- 1%2除余
- m=bytes() 转换成字节
- 数据类型检查 类型检查可以用内置函数isinstance() if not isinstance(x, (int, float)): raise TypeError('bad operand type')
- 拷贝
- 数字和字符串不管怎么拷贝都是同一份。浅拷贝只拷贝第一层,深拷贝全部都拷贝,除了最后一层只有数字和字符串的一层。
- 全局变量,局部变量。
- 如果要在局部变量里修改全局变量,那么要在局部变量前加上 globb。再进行修改。
- 为了便于区分。以后写代码,全部变量都用大写。局部变量用小写。
- isinstance(args,str/int/tuple/list)
- a="dfsaf "
r=isinstance(a,str)
print(r)
#结果 True
- 函数名可以当做参数来传递,函数名加了括号代表执行函数