人生苦短,我选择Python。(上)小白学Python(三):基本数据类型(下)小白学Python(四):变量的基本运算小白学Python(五):基本运算符(上)小白学Python(六):基本运算符(下)Python初学者学习(七):基本过程控制(上)Python初学者学习(八):基本过程控制(下)Python初学者学习(九):基本数据结构(列表)(下)1))小白学习Python(十):数据结构基础(列表)(下)小白学习Python(十一):数据结构基础(元组)小白学习Python(十二):数据结构基础(字典)(上)学习Python初学者入门(13):数据结构基础(词典)(下)Python入门入门(14):数据结构基础(集)(上)Python入门入门(15):数据结构基础(集)(下)2))简介我想告诉你一些好消息。当你看到这个连载的时候,Python的大部分基础内容已经过半了。希望各位同学继续努力,努力读完本书余下的内容。函数提到函数,没有接触过编程的同学会想到这个:y=f(x)但是,我们在Python中使用的函数与数学中的函数没有任何关系(嗯,可能有点关系)。在Python中,我们使用函数来简化问题,将相同类型的操作定义为函数,遇到相同问题时调用对应的函数,类似y=f(x),x=1wheny=1,y=2当x=2时。因此,函数是可重用的代码。定义函数定义函数的规则如下:函数代码块以def关键字开头。后跟函数名和括号()。参数可以用在括号中。函数内容以冒号开头并缩进。return结束函数,可选择返回一个值。不返回等同于返回None。定义一个函数大致是这样的:def函数名(形参):函数体返回返回值def是系统关键字,至于什么是系统关键字,后面再说,这里我们只需要知道def用于定义一个函数。系统关键字在PyCharm中会高亮显示,如果没有高亮显示,那肯定是你弄错了。比如我们现在定义一个计算两个数之和的函数:defadd(a,b):c=a+breturnc有没有看不懂的地方?如果没有,我会继续聊天,如果你有,请给我留言。上面我们完成了一个函数的定义。函数调用函数定义好之后,我们还需要调用函数来执行它。如果一个函数放在那里,它不会自动执行。废话,不知道你要传什么参数。..调用刚才写的函数:c=add(1,2)print(c)打印出来的结果如下:3这里引入两个名词:实参:简称实参,调用时我们只是传入了1函数和2是实参。主要是在函数真正执行的时候使用。形式参数:简称形式参数。刚才我们定义函数的时候,add(a,b)中的a和b是形参。主要体现在只是一种形式和格式,实际执行时还是要看实际传入的参数。整个函数调用就是将实参传递给形参,计算完成后返回,并打印返回值。Python中有许多内置函数,例如print()、len()、type()、id()等。这些函数是内置的,我们不需要定义它们,直接使用即可。按位置顺序传递参数按位置顺序传递参数的方法有很多种。比如我们刚才调用的时候,我们以前是按照位置的顺序传递的。add(1,2)通过赋值传递除了位置顺序传递,我们还可以通过赋值传递:这里我们先定义一个减法函数。defsubtraction(a,b):returna-bprint(subtraction(b=5,a=10))打印结果如下:5defaultassignment那么除了以上两种情况,还有其他情况吗?当然,如果有两个参数,但其中一个可能不传,那我们可以给它一个默认值。这里我们定义一个除法:defdivision(a,b=1):returna/bprint(division(5))print(division(10,5))在除法中,除数不能为0,否则会报错.这里我们给定了默认值1。当除数不存在时,我们可以得到默认值。打印结果如下:5.02.0变长参数传递(元组)是难点,仔细听,仔细读,细读。我们先定义一个打印函数:defprint_a(a,b):print(a,b)这个时候我们可以打印a和b,但是如果我现在要打印两个以上的参数,我要打印三个参数,该怎么办?当然,我们可以在这个函数中再加一个参数c,没问题:defprint_a(a,b,c):print(a,b,c)问题又来了,如果我要打印100个参数怎么办?emmmmmmmmm,还是我们只添加100个参数?当然不是这样写的。我们可以在参数b前面加一个*来表示这个参数是一个变长参数。前面的参数全部赋值后,剩下的参数依次赋值给这个参数。defprint_a(a,*b):print(a,b)print_a(1,2,3,4,5,6)输出结果如下:1(2,3,4,5,6)Didyou看到了吧,这里把剩下的参数转换成元组输出打印。变长参数传递(字典)我们也可以在这个参数前面加上两个*,表示这个参数可以传递的数据类型是以字典的形式传递的。defprint_b(a,**b):print_a(a,b)print_b(1,q='q',w='w',e='e')打印结果如下:1({'q':'a','w':'b','e':'c'},)当然,传递变长参数时,元组和字典可以不存在,如下:print_a(1)print_b(1)结果如下:1()1({},)此时打印出空元组和空字符串。希望各位同学一定要自己敲代码。示例代码本系列所有代码编辑器都会放在代码管理仓库Github和Gitee上,方便大家使用。示例代码-Github示例代码-Gitee如果我的文章对你有帮助,请扫码关注作者的公众号:获取最新干货推送:)
