彩合网彩合网平台

教导行业A股IPO第一股(股票代码 003032)

天下征询/赞扬热线:400-618-4000

Python函数详细教程,顶你看2天的视频课!

更新时辰:2020年01月13日16时25分 来历:传智播客 阅读次数:

本文目次

1、甚么是函数?
2、若何界说函数?
3、若何挪用函数?
4、函数参数通报
5、函数默许参数
6、不定长参数
7、函数的前往值
8、函数的四种范例



传智播客



在现实开辟中,若是有几多段代码的履行逻辑完全不异,那末能够或许或许或许斟酌将这些代码抽取成一个函数,如许不只能够或许或许或许进步代码的重用性,并且层次会加倍清楚,靠得住性更高。
1、甚么是函数?
函数是指构造好的,可反复操纵的,用来实现单一或相干联功效的代码段,它能够或许或许或许进步操纵的模块化和代码的反复操纵率。
Python供给了良多内建函数,如print()。除此以外,咱们还能够或许或许或许本身建立函数,也便是自界说函数。接上去,看一段代码:
print("*")
print("**")
print("****")
上述代码中,操纵多个print()函数输入了一个三角形。若是须要在一个法式的差别地位输入这个图形,那末每次都操纵print()函数输入的做法是不可取的。为了进步编写的效力和代码的重用性,咱们能够或许或许或许把具备自力功效的代码块构造成一个小模块,这便是函数。
2、若何界说函数?
在Python中,你能够或许或许或许界说一个本身想要功效的函数,自界说函数的语法格局以下所示
def 函数名(参数列表):
         “函数_文档字符串”
         函数体
return 抒发式
基于上述格局,上面对函数界说的法则停止申明:
(1)函数代码块以def开首,后面紧跟的是函数名和圆括号()。
(2)函数名的定名法则跟变量的定名法则是一样的,即只能是字母、数字和下划线的任何组合,可是不能以数字开首,并且不能跟关头字重名。
(3)函数的参数必须放在圆括号中。
(4)函数的第1行语句能够或许或许或许挑选性地操纵文档字符串来寄存函数申明。
(5)函数内容以冒号肇端,并且缩进。
(6) return抒发式竣事函数,挑选性地前往一个值给挪用方。不带抒发式的retu相称于前往None。
3、若何挪用函数?
界说了函数以后,就相称于有了一段具备特定功效的代码,要想让这些代码能够或许或许或许履行,须要挪用函数。挪用函数的体例很简略,经由进程“函数名()”便可实现挪用。
# 界说一个函数,能够或许或许或许实现打印信息功效
def print_info():
    print("-"*20)
    print("人生苦短,我用python!")
    print("-"*20)
# 挪用函数
print_info()
4、函数参数通报
在先容函数的参数之前,咱们先来处置一个题目。此刻请求界说一个函数,这个函数用于计
算两个数的和,并把计较的成果打印出来。把上述请求转换为代码,示例代码以下:
def add():
    c = 11 + 22
    print(c)
以上函数的功效是计较11和22的和。此时,不管挪用这个函数几多次,获得的成果永久都是一样的,并且只能计较牢固的两个数字的和,使得这个函数的范围性很大。
为了能让界说的函数加倍通用,即计较肆意两个数字的和,能够或许或许或许在界说函数的时辰增加两个参数,让两个参数来领受通报给函数的值。接上去,经由进程一个案例来演示函数是若何通报参数的。
def add(a, b):
    c = a + b
    print(c)
上面案例中,界说了能领受两个参数的函数。此中,a为第一个参数,用于领受函数通报的第1个数值;b为第二个参数,领受的是函数的第2个数值。这时辰,若是想挪用add函数,则须要给函数的参数通报两个数值,以下所示为完全代码:
def add(a, b):
    c = a + b
    print(c)
# 挪用带有参数的函数时,须要在小括号中通报数据。
add(35, 25)

上面代码运转成果为:
50
须要注重的是,若是函数界说了多个参数,那末在挪用函数的时辰,传输的数据要和界说的参数逐一对应。上面的案例中a=35,b=25,c=50。
5、函数默许参数
界说函数时,能够或许或许或许给函数的参数设置默许值,这个参数就被称为默许参数。当挪用参数的时辰,由于猫人参数在界说时已被赋值,以是能够或许或许或许间接疏忽,而其它参数是必须要传入值的。
若是默许参数不传入值,则间接操纵默许的值;若是默许参数传入了值,则操纵传入的新值替换。
上面咱们经由进程一个案例来先容。
def print_info(name, age=35):
    # 打印任何传入的字符串
    print("Name:", name)
    print("age:", age)
# 挪用print_info(name="miki")
print_info(name="miki")
print_info(name="miki", age=9)
运转成果为:
Name: miki
age: 35
Name: miki
age: 9
在上面案例,第1~4行代码界说了带有两个参数的print_info函数。此中,name参数不设置默许值,age作为默许参数已设置了默许值。在第6行挪用print_into函数时,由于只传入了name参数的值,以是法式会操纵age参数的默许值;在第7行挪用print_info函数时,同时传入了name和age两个参数的值,以是法式会操纵传给age参数的新值。
须要注重的是,带有默许值的参数必然要位于参数列表的最初面,不然法式会报错。比方,给 print_info函数增加一个参数sex,放在参数列表的最初面,则报错信息以下图所示:
python报错
6、不定长参数
凡是在界说一个函数时,若但愿函数能够或许或许或许处置的参数个数比现在界说的参数个数多,此时能够或许或许或许在函数中操纵不定长参数。其根基的语法格局以下:
def 函数名([forml_args,] *args, **kwargs):
    "函数_文档字符串"
    函数体
return 抒发式
在上述格局中,函数共有3个参数。此中,formal_args为形参(也便是后面所用的参数,如(a,b),*args和** kwargs为不定长参数。当挪用函数的时辰,函数传入的参数个数会优先婚配formal_args参数的个数。若是传入的参数个数和formal_args参数的个数不异,不定长参数会前往空的元组或字典;若是传入参数的个数比formal_args参数的个数多,能够或许或许或许分为以下两种环境:
(1)若是传入的参数不指定称号,那末*args会以元组的情势寄存这些过剩的参数
(2)若是传入的参数指定了称号,如m=1,那末* kwargs会以字典的情势寄存这些被定名的参数,如{m:1}。
为了大师更好地懂得,先经由进程一个简略的案例停止演示,详细以下所示。
def test(a, b, *args):
    print(a)
    print(b)
    print(args)
test(11, 12
运转成果以下:
11
12
()
在上面案例中,第1~4行代码界说了带有多个参数的test函数。此中,args为不定长参数。当在第5行中挪用test函数时,由于只传入11和122这两个数,以是这两个数会从左向右顺次婚配test函数界说时的参数a和b,此时,args参数不领受到数据,以是为一个空元组。
若是在挪用test函数时,传入多个参数(这里指的是大于2个参数)环境又是甚么样的呢?
上面看一段实例代码:
def test(a, b, *args):
    print(a)
    print(b)
    print(args)
test(11, 12, 13, 14, 15, 16, 17, 18
运转成果以下:
11
12
(13, 14, 15, 16, 17, 18)
若是在参数列表的开端操纵* kwargs参数,示例代码以下
def test(a, b, *args, **kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)
test(11, 12, 13, 14, 15, 16, 17, 18
运转成果:
11
12
(13, 14, 15, 16, 17, 18)
{}
从两次运转的成果能够或许或许或许看出,若是在挪用test函数时传入多个数值,那末这些数值会从左向
右顺次婚配函数test界说时的参数。若是跟formal_args参数的个数婚配完,另有过剩的参数,则这些过剩的参数会构成一个元组,和不定长参数args停止婚配。此时,kwargs参数不接管到数据,以是为一个空字典。
在挪用函数时,甚么环境下传入的数据会婚配参数kwargs呢?看上面案例:
def test(a, b, *args, **kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)
test(11, 12, 13, 14, 15, 16, 17, 18, m=22, n=33)
运转成果为:
11
12
(13, 14, 15, 16, 17, 18)
{'m': 22, 'n': 33}
从上述运转成果能够或许或许或许看出,若是参数因此键值对的情势传入的,则操纵** kwargs参数来领受。
7、函数的前往值
所谓“前往值”,便是法式中的函数实现一件工作后,最初给挪用者的成果。比方,界说一
个函数来获得室内的温度,一旦挪用这个函数,函数就会把拿到的温度值前往给挪用者,这个暖和值便是函数的前往值。在Python中,函数的前往值是操纵 return语句来实现的。接上去,看一段示例代码。
def add(a, b):
    c = a + b
    return
def add(a, b):
    return a + b
上面的代码中,函数add中包罗了return语句,象征着这有个函数的前往值,其前往值便是a和b相加的成果。
8、函数的四种范例
按照有不参数和前往值,函数大要能够或许或许或许分为以下四种范例:
(1)函数无参数,无前往值。
(2)函数无参数,有前往值。
(3)函数有参数,无前往值。
(4)函数有采参数,有前往值。
上面咱们别离先容。
1)无参数、无前往值的参数
无参数、无前往值的函数,既不能接管参数,也不前往值。
接上去,咱们经由进程打印提醒的函数来演示这类函数的操纵。
def print_menu():
    print("-"*20)
    print("   xx涮锅 点菜体系")
    print("    1. 羊肉涮锅")
    print("    2. 牛肉涮锅")
    print("    3. 猪肉涮锅")
    print("-" * 20)
print_menu(
运转成果为:
无参数无前往值python函数


2)无参数、有前往值的函数
此类函数不能领受参数,可是能够或许或许或许前往某个数据,普通环境下,收罗数据时会用此类函数。接上去,咱们经由进程一个示例来演示,以下所示:
# 获得温度def get_temperature():
    # 这里是温度获得的一些处置进程
    # 为了简略起见,先摹拟前往一个数据
    return 24
temperture = get_temperature()
print('以后的温度为:', temperture
运转成果为:
以后的温度为: 24
3)有参数、无前往值的函数
在现实开辟中,有参数、无前往值的函数用的少少,这是由于函数作为功效模块,既然传入了参数,绝大大都环境是但愿操纵前往值的。这里,大师对有参数、无前往值的函数有所领会便可,实例代码以下:
def test(number_one, number_two):
    result = number_one + number_two
    print('计较成果为: %d'%result
4)有参数、有前往值得函数
此类函数不能领受参数,可是能够或许或许或许前往某个数据,普通环境下,收罗数据时会用此类函数。
接上去,咱们经由进程一个示例来演示。
# 计较1~number的积累和
def calculate(nuber):
    result = 0
    i = 1
    while i <= nuber:
        result = result +i;
        i +=1
    return result
result = calculate(100)
print('1~100的积累和为:', result
运转成果为: 
1~100的积累和为: 5050



猜你喜好:
0 分享到:
财神网 乐彩网官方网站乐彩网登录