如何最简单、通俗地理解Python的函数?
如何最简单、通俗地理解Python的函数? 千锋教育:Python程序员必须吃透的100个函数,建议收藏!新手在做写代码的时候容易卡壳,尤其当接触的函数以及其他知识比较多的时候,经常会看完需求之后不知道自己该用什么方法来实现它,实现的逻辑可能你有,但怎么该用什么函数给忘了,这其实就是知识的储备不够,你记不住哪个函数有什么作用,自然一头雾水。
这几天我专门整理了Python常用的一些函数,从最基础的输入输出函数到正则等12个板块的,总共100多个常用函数,方便小伙伴们进行快速地记忆,每天快速过一遍,用的时候再加深一下,慢慢地你就会摆脱写代码卡壳的状况。
虽说自学编程的时候我们强调更多的东西是理解和实际去敲代码,但有些东西你是要必须牢记的,否则你写代码将寸步难行。老手当然已经烂记于心,新手想要快速得心应手开发,记住高频使用的函数就是一个好法子。
1.基础函数
http://picx.zhimg.com/v2-c300017a9dd365002b53cbc8a16e4c6e_r.jpg?source=1940ef5c
案例:将浮点型数值转换为字符串,输出转换后的数据类型
f = 30.5
ff = str(f)
print(type(ff))
#输出结果为 class 'str'2.流程控制
http://picx.zhimg.com/v2-a56720064c7a055a3d514f08c54fdb2a_r.jpg?source=1940ef5c
案例:根据用户输入的分数判断成绩,低于50分时提示“你的分数低于50分”,5059分时提示“你的分数在60分左右”,大于等于60分为及格,8090分为优秀,大于90分为非常优秀。
s = int(input("请输入分数:"))
if 80 >= s >= 60:
print("及格")
elif 80 < s <= 90:
print(&#34;优秀&#34;)
elif 90 < s <= 100:
print(&#34;非常优秀&#34;)
else:
print(&#34;不及格&#34;)
if s > 50:
print(&#34;你的分数在60分左右&#34;)
else:
print(&#34;你的分数低于50分&#34;)3.列表
http://picx.zhimg.com/v2-182dbf70a5f0f1c637eb17e72806abc4_r.jpg?source=1940ef5c
案例:判断6这个数在列表中的位置,并输出其下标。
l =
n = l.index(6, 0, 9)
print(n)
#输出结果为44.元组
http://pica.zhimg.com/v2-226ed836d520a78a1ffedbddc374cda8_r.jpg?source=1940ef5c
案例:修改元组 #取元组下标在1~4之间的3个数,转换成列表
t = (1,2,3,4,5)
print(t)
l = list(t)
print(l)
#在列表下标为2的位置插入1个6
l=6
print(l)
#讲修改后的列表转换成元组并输出
t=tuple(l)
print(t)
#运行结果为:
(2, 3, 4)
(1, 2, 6, 4, 5)5.字符串
http://pic1.zhimg.com/v2-850b59f87521b2ae1ba577b76c00bf67_r.jpg?source=1940ef5c
案例:用format()的三种方式输出字符串
方式1:用数字占位(下标)
&#34;{0} 嘿嘿&#34;.format(&#34;Python&#34;)
a=100
s = &#34;{0}{1}{2} 嘿嘿&#34;
s2 = s.format(a,&#34;JAVA&#34;,&#34;C++&#34;)
print(s2)
#运行结果为:100JAVAC++ 嘿嘿方式2:用{} 占位
a=100
s = &#34;{}{}{} 嘿嘿&#34;
s2 = s.format(a,&#34;JAVA&#34;,&#34;C++&#34;,&#34;C# &#34;)
print(s2)
#运行结果为:100JAVAC++ 嘿嘿方式3:用字母占位
s = &#34;{a}{b}{c} 嘿嘿&#34;
s2 = s.format(b=&#34;JAVA&#34;,a=&#34;C++&#34;,c=&#34;C# &#34;)
print(s2)
#运行结果为:C++JAVAC#嘿嘿6.字典
http://pic1.zhimg.com/v2-72edbc1a73c94227ab45b9c3cddcf003_r.jpg?source=1940ef5c
案例:在字典中查找数据
d = {&#34;name&#34;: &#34;小黑&#34;}
print(d.get(&#34;name2&#34;, &#34;没有查到&#34;))
print(d.get(&#34;name&#34;))
#运行结果为:
没有查到
小黑7.函数
函数这块重头戏更多的是自定义函数,常用的内置函数不是很多,主要有以下几个:
http://picx.zhimg.com/v2-8e68fc6ec0c0247befdd884be9318e2b_r.jpg?source=1940ef5c
案例:在函数中定义一个局部变量,跳出函数仍能调用该变量
def fun1():
global b
b=100
print(b)
fun1()
print(b)
#运行结果为:
100
1008.进程和线程
http://picx.zhimg.com/v2-88df091170a369bb27e5a735b67346a3_r.jpg?source=1940ef5c
案例:继承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(&#34;凉凉&#34;)
t2 = MyThread(&#34;最亲的人&#34;)
t1.start()
t2.start()9.模块与包
http://pica.zhimg.com/v2-b3c0e78aa634200f6889e2e7e08224f4_r.jpg?source=1940ef5c
案例:包的使用方式4
from my_package1 import my_module3
print(my_module3.a)
my_module3.fun4()10.文件操作
(1)常规文件操作
http://picx.zhimg.com/v2-535b000c3f9f4b68d7b0fa037a10518c_r.jpg?source=1940ef5c
关于文件操作的常规模式:
http://pic1.zhimg.com/v2-d57864336193531cb48721148ad0b15c_r.jpg?source=1940ef5c
file的对象属性
http://picx.zhimg.com/v2-6479f6a23c1bfbc52343da07064c1e62_r.jpg?source=1940ef5c
file对象的方法
http://picx.zhimg.com/v2-d03b7981e66b64c5321746fc17b0e067_r.jpg?source=1940ef5c
(2)OS模块
关于文件的功能
http://picx.zhimg.com/v2-11afad76f5a6ffd3de553031043940ea_r.jpg?source=1940ef5c
关于文件夹的功能
http://pica.zhimg.com/v2-b963f1f1b5c20604eb5cbcba3e68e790_r.jpg?source=1940ef5c
11.修饰器/装饰器
http://pic1.zhimg.com/v2-734fdec9af3548498290adeaa61431f2_r.jpg?source=1940ef5c
案例: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(&#34;小贱人&#34;)
b.eat()
#运行结果为:1012.正则
http://picx.zhimg.com/v2-9521f63114605ab1120e3cc8ad0a48f2_r.jpg?source=1940ef5c
案例:用split()函数分割一个字符串并转换成列表
import re
s = &#34;abcabcacc&#34;
l = re.split(&#34;b&#34;,s)
print(l)
#运行结果为:[&#39;a&#39;, &#39;ca&#39;, &#39;cacc&#39;]结语
这篇文章的目的,不是为了教大家怎么使用函数,而是为了快速、便捷地记住常用的函数名,所以没有把每个函数的用法都给大家举例,你只有记住了函数名字和它的作用之后,你才会有头绪,至于函数的用法,百度一下就出来,用了几次你就会了。
如果连函数名和它的用途都不知道,你要花的时间和精力就更多了,必然不如我们带着目的性地去查资料会更快些。 定义:函数是组织好的,可重复使用的用来实现单一,或相关联功能的代码段。
概括就是:设定好的功能代码。
Python提供了许多内置函数,比如print(),input(),round()等。但除了这些内置函数以外,python中还可以设定算法,即设置自定义函数。
用一些符号代替变量赋值,等到使用这个算法的时候再把具体的变量金额填充进去,那么就能改成一个通用的算法,这个过程就叫自定义函数。代替变量叫形参,使用算法叫调用参数,调用函数时填充的具体金额叫实参 。
自定义函数语法如下:
def函数名(形参): #形参根据需求设置,可有可无,也可设置多个形参
<代码块>#注意冒号及语句缩进
return 表达式#return语句不写时,没有返回值
函数名(实参)#调用函数
如果还有地方不明白,欢迎随时戳我 @财码Python ~ 1. 函数
① 函数是组织好的,可重复使用的。
② 定义函数代码块以 def 关键词开头、后接函数标识符名称和圆括号()。
③ 函数内容以冒号、缩进开始。
# def 定义 printname() 函数
def printname():
print(&#34;我是宝贝入怀&#34;)
printname() # 调用 printname() 函数运行结果:
[*]我是宝贝入怀
④ 任何自变量、传入参数必须放在函数名后圆括号内。
# 定义 printname(name) 函数
def printname(name): # 传入参数放在括号中
print(&#34;我的知乎ID是:%s&#34; %name)
printname(&#39;宝贝入怀&#39;) # 调用 printname() 函数运行结果:
[*]我的知乎ID是:宝贝入怀
[ 完 ]
[ Python 其他笔记,见 &#34;我的主页→专栏&#34; ]
<hr/>2. 分享经验
目前,使用Python两年了,分享一点自己的经验
2.1 学习
① 找手撕代码的视频,一句一句写代码,还讲自己是如何思考的视频,不要找老师直接讲一套写好了的代码的视频。
② 找点击量比较高的老师(群众的眼睛是雪亮的),代表优秀的教学,但是要找适合自己的老师(能激发你学计算机兴趣的老师)。
③ 不管多简单的程序都要自己打一下,看一遍依旧是别人的,做了一遍,才是自己的。只有做一遍才会获得经验,&#34;模仿+总结&#34; 是学习非常快的方法。
2.2 验证
① 我学Python的时候,有时候代码会报错,就主动调试代码,打印变量的值,通过变量值是否符合自己的预期,让自己知道该段程序是否正常运行,从而确定报错的位置和原因。
② 我加了一些Python学习微信群,我有些知识点(or代码)不懂的时候,我就问她们,然后把她们的阐述,组织语言、逻辑,反述出来,这样吸收率非常高。
③ 学习路上经常会碰到疑惑的问题,碰到不懂的问题,搜索相关信息,有一个猜想,然后请教别人来验证猜想,不让别人灌输知识。 别人灌输的,记不牢;验证后的记得牢,并且有成就感。
2.3 大忌
① 学Python的大忌:学到某个知识点,发现有点晦涩难懂,就不继续往前学,不停的反复琢磨其中的原理。
② 如果已经实现了需求,但是不是很理解其中的原理,先尽量理解原理,如果不理解,继续往前学,因为有些原理是通过后面的知识进行理解的,全部学完后会发现有些以前不懂的豁然开朗。
2.4 讲解
① 如果一个问题,能给别人讲的非常清晰明了,这才说明自己是真的懂了,而且讲解完后这个知识点会记得非常深刻。
② 举个例子,别人问自己一道题目(或知识点),虽然自己以前没有遇到过这道题,但是自己把它做出来了,并且给别人讲清楚了,那么自己这道题里面的知识点会理解的很透彻、记得非常深刻。
<hr/>&#34;♥我的分享,希望对你有帮助♥&#34;
http://picx.zhimg.com/v2-f88cae86e7097a05e05a300441d6bca2_r.jpg?source=1940ef5c
<hr/>全套笔记
[*]https://github.com/AccumulateMore/Python:最全面的 Python 笔记
你一定买过手机,那么你大概也知道国内的几个手机厂商,比如华为,小米,oppo等。你也大概知道,他们每次市场和宣传的时候会有这样的话术:索尼镜头,高通cpu,三星屏幕。。。
那么索尼镜头,高通cpu,三星屏幕就类似于函数。
把你(开发者)比做小米,你不会从设计和生产镜头,自研cpu开始,而是直接把市场上的已有模块直接拿来就用。那么这些模块就类似于函数的作用。
有了函数,你就不用从0开始研发,而且一个函数开发之后,谁都能用。
所以,当华为被制裁后,cpu直接无法生产,原因就是他们用的美国的芯片。芯片也就是函数的意义。
页:
[1]