数值相关
round(1.2345, 2)
:保留两位小数(四舍五入)
列表相关
[].sort()
:原地从小到大排序列表,返回None
['a']*3 == ['a', 'a', 'a']
'a'*3 == 'aaa'
- 如果a是一个list,则
a[:]
相当于创建了一个a的副本,下面的示例可以同时更改a,而不会影响迭代
for i in a[:]:
a.remove(i)
字符串相关
''.join(['a', 'b'])
:把列表中的字符链接起来,列表中的元素类型必须为str
'a b c d'.split(' ')
:以空格分隔字符串,返回一个list
'ABCD'.lower()
:把字符串都变成小写字母'123'.isdigit()
:如果字符串中都是数字,返回True
'hello'.isalpha()
:如果字符串中都是字母,返回True
'JIJI'.isupper()
:如果字符串中都是大写字母,返回True
'jiji'.islower
:如果字符串中都是小写字母,返回True
random包相关
random.random()
:返回0-1之间的随机浮点数random.choise([])
:返回列表中的一个随机元素random.randint(a, b)
:返回a-b之间的一个随机整数random.uniform(a, b)
:返回a-b之间的一个随机浮点数random.sample([], n)
:返回列表中的n个元素构成的新列表random.randrange(0, 101, 2)
:返回0-100之间的偶数random.shuffle([])
:打乱列表中元素的顺序
注意
- 在python中,向函数传递一个列表,类似于向C++的函数中传递一个引用,函数中对这个列表的操作会改变函数外的列表。只要改变list中的元素,原list就会改变,即使这个list是在其他结构中(如dict)。如果想在函数中改变实参,就传入list,否则,最好传入tuple。
- python中的短路运算:在运行
a or b
的时候,如果a is True
,那么python会跳过对b的判断,表达式直接返回True
。例:if (a not in ['1', '2'] or int(a) is not 3)
,如果此时a=='2'
,是不会报错的 type()
和isinstance()
的区别:type不会考虑继承,isinstance会考虑继承,例:
class A:
pass
class B(A):
pass
print(type(A()) == A)
print(type(B) == A)
print(isinstance(A(),A))
print(isinstance(B(),A))
- python3.6以后是可以在函数定义时写类型提示的,例:
def func(a:int, b:str)->bool:
,如果引用函数时传入的参数类型不对,pycharm会给出提示,但是python解释器并不会报错。 - python不同文件中间最好不要相互import,否则会报错,如果非要互相引用的话,可以把import写在相应函数中。