一、前言
我记得我在最开始学习写代码的时候很容易卡壳,尤其当接触的函数以及其他知识比较多的时候,经常会看完需求之后不知道自己该用什么方法来实现它。或者实现的逻辑可能有,但怎么该用什么函数给忘了,这其实就是知识的储备不够,我门无法记住哪个函数有什么作用,自然一头雾水。
这几天我无意中看了几篇公众号文章,专门整理了Python常用的一些函数,从最基础的输入输出函数到正则等12个板块的,总共100多个常用函数,方便同学们进行快速地记忆,每天快速过一遍,用的时候再加深一下,相信慢慢地就会摆脱写代码卡壳的状况。
虽说自学编程的时候老师或者师哥师姐们强调更多的东西是理解和实际去敲代码,但有些东西你是要必须牢记的,否则你写代码将寸步难行。老手当然已经烂记于心,新手想要快速得心应手开发,记住高频使用的函数就是一个好法子。
二、基础函数
我们常用的基础函数有下面几类:
前面六个相信大家都能够比较熟练的掌握,这里重点介绍一下第七个isinstance()
函数:
isinstance(object, classinfo)
- 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例,
返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。 - 如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组,
或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的。 - 如果classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
与type()区别
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
- 如果要判断两个类型是否相同推荐使用 isinstance()。
In [1]: isinstance(1, int)
Out[1]: True
In [2]: isinstance(5.0, float)
Out[2]: True
In [3]: isinstance(1, (int, float))
Out[3]: True
In [4]: class Myclass:pass
In [5]: test = Myclass()
In [6]: isinstance(test, Myclass)
Out[6]: True
三、流程控制
常见函数如下图所示:
案例:
- 根据用户输入的分数判断成绩,低于50分时提示“你的分数低于50分”,50-59分时提示“你的分数在60分左右”,大于等于60分为及格,80-90分为优秀,大于90分为非常优秀。
score = eval(input('请输入你的分数:'))
if score < 50:
print('你的分数低于50分')
elif score <=59:
print('你的分数在60分左右')
elif score <= 79:
print('及格')
elif score <= 90:
print('优秀')
elif score <= 100:
print('非常优秀')
四、列表
常用函数如下所示:
案例:
- 判断6这个数在列表[1,2,2,3,6,4,5,6,8,9,78,564,456]中的位置,并输出其下标。
l = [1, 2, 2, 3, 6, 4, 5, 6, 8, 9, 78, 564, 456]
for n in l:
idx = l.index(n, 0, 13)
print(idx)
输出的结果为:
0
1
1
3
4
5
6
4
8
9
10
11
12
五、元组
案例:
- 修改元组
# 取元组下标在1~4之间的3个数,转换成列表
t = (1, 2, 3, 4, 5)
print(t[1:4])
l = list(t)
print(l)
# 在列表下标为2的位置插入1个6
l[2] = 6
print(l)
# 讲修改后的列表转换成元组并输出
t = tuple(l)
print(t)
展示结果如下:
(2, 3, 4)
[1, 2, 3, 4, 5]
[1, 2, 6, 4, 5]
(1, 2, 6, 4, 5)
六、字符串
案例:
- 用format()的三种方式输出字符串
方式1:用数字占位(下标)
a = 'I'
s = "{0} {1} {2} 嘿嘿"
s2 = s.format(a, "love", "Python")
print(s2)
输出结果为:
I love Python 嘿嘿
方式2:用{} 占位
a = 'I'
s = "{} {} {} 嘿嘿"
s2 = s.format(a, "love", "Python")
print(s2)
输出结果为:
I love Python 嘿嘿
方式3:用字母占位
a = 'I'
s = "{a} {b} {c} 嘿嘿"
s2 = s.format(a = a, b = "love", c = "Python")
print(s2)
输出结果为:
I love Python 嘿嘿
七、字典
案例:
- 在字典中查找数据
d = {"name": "小黑"}
print(d.get("name2", "没有查到"))
print(d.get("name"))
没有查到
小黑
八、函数
函数这块重头戏更多的是自定义函数,常用的内置函数不是很多,主要有以下几个:
九、进程和线程
十、模块与包
案例:
- 包的使用
import numpy as np
a = [1,2,3,4]
b = np.array(a)
print(b, type(b))
[1 2 3 4] <class 'numpy.ndarray'>
十一、文件操作
(1)常规文件操作
关于文件操作的常规模式:
file的对象属性:
file对象的方法:
(2)OS模块
关于文件的功能:
关于文件夹的功能:
十二、修饰器/装饰器
十三、正则
案例:
- 用split()函数分割一个字符串并转换成列表
import re
s = "abcabcacc"
l = re.split("b",s)
print(l)
['a', 'ca', 'cacc']
参考
https://mp.weixin.qq.com/s/cvIVO4_Nmy0yhnNfaArDOg