进制间转换
各进制转十进制用int(a,b) a为需转化的进制值,无需带前缀,b为a是几进制,若a为八进制,则b=8
若是十进制转各进制,则用bin(a),hex(a),oct(a),分别是十进制转二进制,十六进制,八进制,a为二进制数值
#二进制、八进制、十进制和十六进制数之间的转换
print(0b110110) #输出二进制数 输出结果:54
print(0o234) #输出八进制 输出结果:156
print(0xF45) #输出十六进制 输出结果:3909
print(bin(12345)) #十进制转换为二进制 输出结果:0b11000000111001
print(int('110110',2)) #二进制转换为十进制 输出结果:54
print(int('ABC',16)) #十六进制转换为十进制 输出结果:2748
print(hex(123456)) #十进制转换为十六进制 输出结果: 0x1e240
print(hex(0b11100001)) #二进制转换为十六进制 输出结果:0xe1
print(oct(123456)) #十进制转换为八进制 输出结果:0o361100
print(int('123456',8)) #八进制转十进制 输出结果:4279
List相关操作函数
list1 = [1,2,3,4,5]
list2 = [6,7]
list1.append(8) #append末尾添加某个元素,若用+则会产生相应量的复制操作,因为其实质上是创建了新的列表对象
list1.extend(list2) #extend将list2目标函数的所有元素添加至list1列表的尾部,属于原地操作,不会创建新的列表对象
list.pop(2) #pop(删除并返回指定位置的元素)默认删除最后一位,若有参数,则是删除下标为2(本例子)的元素
enumerate():用于将一个可遍历的数据对象(如列表、元组或字符串)组合成一个索引序列,同时列出数据和数据下标,一般在 for 循环中使用
list = ['one', 'two', 'three']
for index, element in enumerate(list):
print(index, element)
result:
0 one
1 two
2 three
函数之可变参数
如果在参数名前加上一个星号“*”,则表示将多个参数收集到一个“元组”对象中;如果在参数名前加上两个星号“**”,则表示将多个参数收集到一个“字典”对象中。
def fun1(a,b,**c):
print(a,b,c)
fun1(1,2,name='name',age=999)
def fun2(a,b,*c,**d):
print(a,b,c,d)
fun2(1,2,3,4,name='names',age=666)
result:
1 2 {'name': 'name', 'age': 999}
1 2 (3, 4) {'name': 'names', 'age': 666}
Python 标识符(内容来源于菜鸟教程)
在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的代表类的私有成员,以双下划线开头和结尾的代表 Python 里特殊方法专用的标识,如____init___() 代表类的构造函数。
Python 可以同一行显示多条语句,方法是用分号 ;
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
Python 直接赋值、浅拷贝和深度拷贝解析的区别(菜鸟教程笔记):https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-deep.html