百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

整理了 100 个必备的 Python 函数

liebian365 2025-02-07 18:14 13 浏览 0 评论

新手在做写代码的时候容易卡壳,尤其当接触的函数以及其他知识比较多的时候,经常会看完需求之后不知道自己该用什么方法来实现它,实现的逻辑可能你有,但怎么该用什么函数给忘了,这其实就是知识的储备不够,你记不住哪个函数有什么作用,自然一头雾水。

这几天我专门整理了Python常用的一些函数,从最基础的输入输出函数到正则等12个板块的,总共100多个常用函数,方便小伙伴们进行快速地记忆,每天快速过一遍,用的时候再加深一下,慢慢地你就会摆脱写代码卡壳的状况。

虽说自学编程的时候我们强调更多的东西是理解和实际去敲代码,但有些东西你是要必须牢记的,否则你写代码将寸步难行。老手当然已经烂记于心,新手想要快速得心应手开发,记住高频使用的函数就是一个好法子。

1.基础函数

序号

函数

说明

1

print()

输出

2

input()

输入

3

int()

转整型

4

float()

转浮点型

5

str()

转字符串

6

type()

返回对象的类型

7

isinstance()

返回布尔值(True,False)

案例:将浮点型数值转换为字符串,输出转换后的数据类型

f = 30.5
ff = str(f)
print(type(ff))

#输出结果为 class 'str'

2.流程控制

序号

函数

说明

1

if 语句 :执行1

条件判断

2

if 条件 :代码块1 else:代码块2

条件判断

3

while

判断循环

4

for

计数循环

5

range()

范围函数,可控制开始位置、结束位置和步长

6

break

跳出循环

7

continue

跳过本次循环,后面的循环继续执行

案例:根据用户输入的分数判断成绩,低于50分时提示“你的分数低于50分”,5059分时提示“你的分数在60分左右”,大于等于60分为及格,8090分为优秀,大于90分为非常优秀。

s = int(input("请输入分数:"))
if 80 >= s >= 60:
    print("及格")
elif 80 < s <= 90:
    print("优秀")
elif 90 < s <= 100:
    print("非常优秀")
else:
    print("不及格")
    if s > 50:
        print("你的分数在60分左右")
    else:
        print("你的分数低于50分")
        

3.列表

序号

函数

说明

1

append()

向列表中添加对象,并添加到末尾

2

extend(可迭代对象)

将可迭代对象中数据分别添加到列表中,并添加到末尾

3

insert(下标,对象)

向指定下标位置添加对象

4

clear()

清空列表

5

pop()

删除下标指定的元素,如果不加下标则删除最后一个元素

6

remove(对象)

删除指定的对象

7

del

删除变量或指定下表的值

8

copy()

浅拷贝

9

count(对象)

返回对象在列表中出现的次数

10

index(value,开始下标,结束下标)

元素出现的第一次下标位置,也可自定义范围

11

reverse()

原地翻转

12

sort(key=None,reverse=False)

快速排序,默认从小到大排序,key:算法

13

len()

获取列表的长度(元素)

案例:判断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]
n = l.index(6, 0, 9)
print(n)

#输出结果为  4

4.元组

序号

函数

说明

1

list(元祖)

元祖转换成列表

2

tuple(列表)

列表转换成元祖

3

元祖的函数操作与列表大致相同相同,不赘述


案例:修改元组

#取元组下标在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)

5.字符串

序号

函数

说明

1

capitalize()

把字符串的第一个字符改为大写,后面的小写

2

casefold()

把整个字符串都小写

3

encode()

编码 str–bytes(二进制字符串)

4

decode()

解码

5

count(sub,start,stop)

返回字符(sub)出现的次数,star:开始下标,stop:结束下标

6

find(sub,start,stop)

返回sub第一次出现的下标,查不到返回-1

7

index(sub,start,stop)

返回sub第一次出现的下标

8

upper()

将字符串转为大写

9

lower()

将字符串转为小写

10

format()

将字符串按某种格式输出

案例:用format()的三种方式输出字符串

方式1:用数字占位(下标)

"{0} 嘿嘿".format("Python")
a=100
s = "{0}{1}{2} 嘿嘿"
s2 = s.format(a,"JAVA","C++")
print(s2)

#运行结果为:100JAVAC++ 嘿嘿

方式2:用{} 占位

a=100
s = "{}{}{} 嘿嘿"
s2 = s.format(a,"JAVA","C++","C# ")
print(s2)

#运行结果为:100JAVAC++ 嘿嘿

方式3:用字母占位

s = "{a}{b}{c} 嘿嘿"
s2 = s.format(b="JAVA",a="C++",c="C# ")
print(s2)

#运行结果为:C++JAVAC#  嘿嘿

6.字典

序号

函数

说明

1

clear()

清空字典

2

copy()

浅拷贝

3

fromkeys(可迭代对象,value=None)

根据可迭代对象中的元素去创建字典

4

get(key,[d])

获取键所对应的值,key是键,d是提示信息

5

items()

将字典中的键值对封装成元组并放到类集合中

6

pop(key,[d])

根据键删除字典中的键值对,key是键,d是提示信息

7

values()

返回字典中的值(类集合对象)

案例:在字典中查找数据

d = {"name": "小黑"}
print(d.get("name2", "没有查到"))
print(d.get("name"))

#运行结果为:
没有查到
小黑

7.函数

函数这块重头戏更多的是自定义函数,常用的内置函数不是很多,主要有以下几个:

序号

函数

说明

1

函数名.doc

获取函数的文档内容

2

help(函数名)

查看函数文档

3

global 变量

声明变量为全局变量(可用于任何地方)

4

nonlocal 变量

声明的变量为全局变量(用于函数嵌套,变量存在于上一级函数)

案例:在函数中定义一个局部变量,跳出函数仍能调用该变量

def fun1():
    global b
    b=100
    print(b)
fun1()
print(b)

#运行结果为:
100
100

8.进程和线程

序号

函数

说明

1

os.getpid()

获取当前进程的编号

2

multiprocessing.current_process()

获取当前进程的名字

3

os.getppid()

获取当前父进程的编号

4

Thread(target=None,name=None,args=(),kwargs=None)

target:可执行目标,name:线程的名字默认Thread-N,args/kwargs:目标参数

5

start()

启动子线程

6

threading.current_thread()

获取当前进程的名字

案例: 继承Thread类实现

#多线程的创建
class MyThread(threading.Thread):
    def __init__(self,name):
        super().__init__()
        self.name = name
    def run(self):
        #线程要做的事情
        for i in range(5):
            print(self.name)
            time.sleep(0.2)
 #实例化子线程
t1 = MyThread("凉凉")
t2 = MyThread("最亲的人")

t1.start()
t2.start()

9.模块与包

序号

函数

说明

1

import 模块名

导入模块

2

from 模块名 import 功能1, 功能2…

导入模块特定功能

3

from 模块名 import *

导入模块所有功能

4

import 模块名 as 别名

模块定义别名

5

from 模块名 import 功能 as 别名

功能定义别名

6

import 包名.模块名.目标

包的导入方式1

7

import 包名.子包名.模块名.目标

包的导入方式2

8

import 包名.模块名

包的使用形式1

9

import 包名.模块名 as 别名

包的使用形式2

10

from 包名.模块名 import 功能

包的使用形式3

11

from 包名 import 模块名

包的使用形式4

12

from 包名.模块名 import *

包的使用形式5

案例: 包的使用方式4

from my_package1 import my_module3
print(my_module3.a)
my_module3.fun4()

10.文件操作

常规文件操作

序号

函数

说明

1

open(name,mode)

用于打开一个文件,返回一个文件对象

name:文件名,–写全(文件路径+文件名+后缀)



mode:打开文件的方式,默认是r–只读



2

write(“xxx”)

向文件中写入内容

3

read()

读取文件中的内容

4

close()

关闭文件

关于文件操作的常规模式:

模式

描述

r

以只读的形式打开文件,文件的指针在开头

r+

读写,文件指针在开头

rb

以二进制的形式只读文件指针在开头

w

只写,文件不存在,则创建新的,存在则覆盖,指针在开头

w+

读写,文件不存在,则创建新的,存在则覆盖,指针在开头

wb

只写,以二进制的形式

a

追加模式,文件指针在结尾

a+

读写,不存在则创建,存在直接追加

ab

以二进制形式追加

file的对象属性

序号

方法

说明

1

closed

如果文件对象已关闭,返回True,否则返回False

2

mode

返回文件对象的访问模式

3

name

返回文件的名称

file对象的方法

序号

函数

方法

1

close()

关闭文件

2

read([count])

读取文件中的内容,count:字节数量

3

readlines()

读取所有内容,打包成列表

4

readline()

读取一行数据,追加读取,读取过得不能再次读取

5

seek(offset,[from])

修改指针的位置:从from位置移动了offset个字节from:0-从起始位置,1-从当前位置开始,2-从末尾开始soofset:要移动的字节数

6

write()

向文件中写入内容

OS模块

关于文件的功能

序号

方法

说明

1

os.rename(原文件名,新的文件名)

文件重命名

2

os.remove(文件名)

删除文件

关于文件夹的功能

序号

函数

说明

1

mkdir(文件夹名字)

创建文件夹

2

rmdir(文件夹名字)

删除文件夹

3

getcwd()

获取当前目录

4

chdir(目录)

切换目录

5

listdir()

获取当前文件夹下所有文件或文件夹,返回一个列表listdir(‘aa’) #获取aa文件下所有文件或文件夹,返回一个列表

11.修饰器/装饰器

序号

函数

说明

1

property

将方法变为属性,被修饰的方法名必须和property下方的方法名一样

2

staticmethod

静态方法,将被修饰的方法从类中抽离出来。该函数不能访问类的属性

3

classmethod

与实例方法的区别是接收的第一个参数不是self,而是cls(当前类的具体类型)被修饰的方法无法访问实例属性,但是可以访问类属性

案例: classmethod的用法举例

class B:
    age = 10
    def __init__(self,name):
        self.name = name
    @classmethod
    def eat(cls): #普通函数
        print(cls.age)

    def sleep(self):
        print(self)

b = B("小贱人")
b.eat()

#运行结果为:10

12.正则

序号

函数

说明

1

re.compile(正则表达式)

编译正则

2

match()

决定re是否在字符串刚开始的位置(匹配行首)

3

search()

扫描字符串,找到这个re匹配的位置(仅仅是第一个查到的)

4

findall()

找到re匹配的所有字符串,返回一个列表

5

group()

返回re匹配的字符串

6

start()

返回匹配开始的位置

7

end()

返回匹配结束的位置

8

span()

返回一个元组:(开始,结束)的位置

9

findall()

根据正则表达式返回匹配到的所有字符串

10

sub(正则,新字符串,原字符串)

替换字符串

11

subn(正则,新字符串,原字符串)

替换字符串,并返回替换的次数

12

split()

分割字符串

案例:用split()函数分割一个字符串并转换成列表

import re
s = "abcabcacc"
l = re.split("b",s)
print(l)

#运行结果为:['a', 'ca', 'cacc']

相关推荐

4万多吨豪华游轮遇险 竟是因为这个原因……

(观察者网讯)4.7万吨豪华游轮搁浅,竟是因为油量太低?据观察者网此前报道,挪威游轮“维京天空”号上周六(23日)在挪威近海发生引擎故障搁浅。船上载有1300多人,其中28人受伤住院。经过数天的调...

“菜鸟黑客”必用兵器之“渗透测试篇二”

"菜鸟黑客"必用兵器之"渗透测试篇二"上篇文章主要针对伙伴们对"渗透测试"应该如何学习?"渗透测试"的基本流程?本篇文章继续上次的分享,接着介绍一下黑客们常用的渗透测试工具有哪些?以及用实验环境让大家...

科幻春晚丨《震动羽翼说“Hello”》两万年星间飞行,探测器对地球的最终告白

作者|藤井太洋译者|祝力新【编者按】2021年科幻春晚的最后一篇小说,来自大家喜爱的日本科幻作家藤井太洋。小说将视角放在一颗太空探测器上,延续了他一贯的浪漫风格。...

麦子陪你做作业(二):KEGG通路数据库的正确打开姿势

作者:麦子KEGG是通路数据库中最庞大的,涵盖基因组网络信息,主要注释基因的功能和调控关系。当我们选到了合适的候选分子,单变量研究也已做完,接着研究机制的时便可使用到它。你需要了解你的分子目前已有哪些...

知存科技王绍迪:突破存储墙瓶颈,详解存算一体架构优势

智东西(公众号:zhidxcom)编辑|韦世玮智东西6月5日消息,近日,在落幕不久的GTIC2021嵌入式AI创新峰会上,知存科技CEO王绍迪博士以《存算一体AI芯片:AIoT设备的算力新选择》...

每日新闻播报(September 14)_每日新闻播报英文

AnOscarstatuestandscoveredwithplasticduringpreparationsleadinguptothe87thAcademyAward...

香港新巴城巴开放实时到站数据 供科技界研发使用

中新网3月22日电据香港《明报》报道,香港特区政府致力推动智慧城市,鼓励公私营机构开放数据,以便科技界研发使用。香港运输署21日与新巴及城巴(两巴)公司签署谅解备忘录,两巴将于2019年第3季度,开...

5款不容错过的APP: Red Bull Alert,Flipagram,WifiMapper

本周有不少非常出色的app推出,鸵鸟电台做了一个小合集。亮相本周榜单的有WifiMapper's安卓版的app,其中包含了RedBull的一款新型闹钟,还有一款可爱的怪物主题益智游戏。一起来看看我...

Qt动画效果展示_qt显示图片

今天在这篇博文中,主要实践Qt动画,做一个实例来讲解Qt动画使用,其界面如下图所示(由于没有录制为gif动画图片,所以请各位下载查看效果):该程序使用应用程序单窗口,主窗口继承于QMainWindow...

如何从0到1设计实现一门自己的脚本语言

作者:dong...

三年级语文上册 仿写句子 需要的直接下载打印吧

描写秋天的好句好段1.秋天来了,山野变成了美丽的图画。苹果露出红红的脸庞,梨树挂起金黄的灯笼,高粱举起了燃烧的火把。大雁在天空一会儿写“人”字,一会儿写“一”字。2.花园里,菊花争奇斗艳,红的似火,粉...

C++|那些一看就很简洁、优雅、经典的小代码段

目录0等概率随机洗牌:1大小写转换2字符串复制...

二年级上册语文必考句子仿写,家长打印,孩子照着练

二年级上册语文必考句子仿写,家长打印,孩子照着练。具体如下:...

一年级语文上 句子专项练习(可打印)

...

亲自上阵!C++ 大佬深度“剧透”:C++26 将如何在代码生成上对抗 Rust?

...

取消回复欢迎 发表评论: