python
- 进制转换:
bin(二进制)
二进制范围数字只有0和1。
二进制以'0b'开头
oct(八进制)
八进制范围数字是0-7。
八进制以'0o'开头
int(十进制)
十进制范围数字是0-9
hex(十六进制)
进制范围数字是0-9(9以后的数字用a-f代替),A-F。
十六进制以'0x'开头
十进制转换其他进制:
10-2
二进制字符串=bin(十进制数字)
10-8
八进制字符串=oct(十进制数字)
10-16
十六进制字符串=hex(十进制数字)
其他进制转十进制:
int('进制字符串',进制数)
# 进制转换 a = 10 r1 = bin(a) print(r1) r2 = oct(a) print(r2) r3 = hex(a) print(r3) r4=int('0x45',16) print(r4) print('_'*60) r5=int('0xa',16) print(r5) r6=int('0b1010',2) print(r6) r7=int('0o12',8) print(r7)
- 函数:
函数定义时
形参
函数调用时:
实参
形参与实参的关系:
在调用时实参的个数取决于定义形参的个数
一般情况下,二者的位置,个数,必须一致
特殊情况:
1.参数位置特殊情况
1.位置参数
2.关键字参数
实参给形参赋值的时候,按关键给的
2.参数个数特殊的情况
3.默认参数
def 函数名(形参1=默认值,......):
如果一个函数在定义时,参数为默认参数,调用时可给可不给
如果不给,形参以默认值为准,如果给了,以实参的具体值为准
4.可变参数
*args
在调用时可以给0个,1个,多个,任意类型的参数都是可以的
args 会当成元组类型来处理,传进来每一个参数都会被当成元组的一个元素
**kwargs
要求接收的实参必须是键对值类型的,可以给0个,1个,多个键对值
- 函数的返回值:
return:
1.结束函数
2.用于函数的返回值
注意:
一个函数如果有返回值,接收到的变量,便是对应的返回值类型
如果一个函数没有返回值,则接收到的是None(系统默认返回的)
函数可以存在多个返回值:
如果使用一个变量接收多个返回值,则这个变量默认是Tuple类型
也可以使用对应个数的变量接收对应的返回值
- 递归调用:
直接或者间接的调用自己,这种调用方式,递归调用
注意:
在递归调用中,一定要有递归的结束条件,如果没有,则会导致递归错误
递归执行的本质:
压栈操作:反复入栈
函数参数传递问题:
如果参数是基本类型:
属于值传递,在函数内部操作,不影响结果
如果参数是可变类型
属于地址传递,在函数内部操作,源数据反生变化
- 命名空间:
命名空间指的是保存程序中的变量名和值的地方。命名空间的本质是一个字典,
用来记录变量名称和值。字典的 key 是变量的名称,字典的 value 对于的是变量 的值。
例如 {‘name’:’zs’,’age’:10}
分类
内置的命名空间
全局的命名空间
globals()
局部的命名空间
locals()
系统加载顺序:
内置-> 全局 ->局部
调用时搜索顺序:
局部 -> 全局 -> 内置
作用域:
在哪个范围内生效
LEGB
L:
局部
E:
闭包
G:
全局
B:
内置
- 补充(手动转换进制:(取余数):):
- 数A/数B,A小于B,商为0,余数就是它自己(一个数除以另一个数,要是比另一个数小的话,商为0,余数就是它自己)
- 1/2,商数为0,余数为1;2/3,商数为0,余数为2。
- 余数指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数。