这是我见过最通俗易懂的Python入门之函数!

版权声明:禁止转载至其它平台,转载至博客需带上此文链接。 https://blog.csdn.net/qq_41841569/article/details/85619107

这是我见过最通俗易懂的Python入门之函数!

函数是指将一个可重复使用的实现某一功能的代码块封装起来,其关键字是def,函数定义的几个要素分别是函数名、入参和出参,入参出参皆可为空,出参一般不为空,下面是伪代码:

这是我见过最通俗易懂的Python入门之函数!

def 函数名(XX): # 入参可为空
 功能代码 
 return YY # 可以不return

在讲解函数入、出参不同情况前先插一个小知识,python的程序入口,每个语言都有自己的程序入口,这个程序入口相当于发动机,可以将代码运行起来,python的程序入口如下:

if __name__ == '__main__'

实例:

name = 'Bob'
age = '19'
if __name__ == '__main__':
 print(name, age)

运行结果:

Bob 19

好了,言归正传,下面根据入、出参的不同情况进行实例演示。

1、入参为空、出参为空

def first():
 name = 'Bob'
 age = 20
 print('My name is {},{} years old.'.format(name, age))
if __name__ == '__main__':
 first()

运行结果:

My name is Bob,20 years old.

first()函数是入、出参均为空类型,变量在函数内部定义后使用print()打印在控制台上,一般不使用该类型,因为其可扩展性差,如果直接修改函数内容可能牵一发而动全身。

在print()函数中我使用了一个字符串的格式化输出语句

'{}'.format()

{}为占位符,format()中传入的参数会代替占位符,这样的格式化输出方式比%方式更简洁

2、入参不为空、出参为空

def second(name_list, age_list):
 for name, age in zip(name_list, age_list):
 print(name, age)
if __name__ == '__main__':
 list_1 = ['Alice', 'Bob', 'Cli']
 list_2 = [21, 22, 23]
 second(list_1, list_2)

运行结果:

Alice 21
Bob 22
Cli 23

second()函数的入参是一个姓名列表和一个年龄列表,功能是将两个列表相同位置上的元素在控制台同一行中打印出来。

函数中用到了zip()函数,这个函数用于同时遍历两个或两个以上相同长度的字符串、列表、元组或字典,再举个栗子:

# 假设A, B, C为三个相同长度的列表
for A_a, B_b, C_c in zip(A, B, C):
 print(A_a, B_b, C_c)

3、入参为空、出参不为空

def third():
 even_list = []
 for i in range(10): 
 if i % 2 == 0: # 判断是否为偶数
 even_list.append(i) 
 return even_list
if __name == '__main__':
 list = third()
 print(list)

运行结果:

[0, 2, 4, 6, 8]

third()函数的功能是返回一个10以内的偶数列表,这种入参为空、出参不为空的形式较为常见,一般这类函数是可以返回某些可预见的结果。

函数内部的range()可以生成一个可迭代对象,基本语法是

range(start, stop[, step])

start为起始数字,stop为结束数字但不取到结束数字,step为步长,是可选参数,默认为1,下面看一下实例:

for i in range(1, 10, 3):
 print(i)

运行结果:

1
4
7

以上range(1, 10, 3)生成了一个以1为起点,10为终点,步长为3的可迭代对象并逐个输出。

还有一个是even_list.append(),这是列表的内置方法,其功能是将元素追加到列表的最后面,下面看看具体的实现:

list = [1, 2, 3]
for i in range(4, 7):
 list.append(i)
print(list)

运行结果:

[1, 2, 3, 4, 5, 6]

4、入参不为空、出参不为空

def fourth(student_dict):
 student_list = [] 
 for name, info in student_dict.items():
 temp_list = [name,
 info[0],
 info[1]]
 student_list.append(temp_list) 
 return student_list
if __name__ == '__main__':
 dict = {'Alice': [20, 'girl'],
 'Bob': [24, 'boy'],
 'Cli': [21, 'girl']}
 list = fourth(dict)
 print(list)

运行结果:

[['Alice', 20, 'girl'],
 ['Bob', 24, 'boy'],
 ['Cli', 21, 'girl']]

fourth()函数是典型的入、出参均不为空类型,也是最常用的类型,因为其可扩展性高,可重复使用,且其内部一般都是稳定的。

函数中的student_dict.items()是字典的内置方法,其功能是将字典的每个键值对存放在可迭代对象中,除了items(),接下来再通过实例了解以下keys()和values()。

dict = {'China': '中国',
 'USA': '美国',
 'Canada': '加拿大'}
print('Items:', dict.items())
print('Keys:', dict.keys())
print('Values:', dict.values())

运行结果:

Items: dict_items([('China', '中国'), ('USA', '美国'), ('Canada', '加拿大')])
Keys: dict_keys(['China', 'USA', 'Canada'])Values: dict_values(['中国', '美国', '加拿大'])

讲解完函数,不知道你们看懂了没,如果还有疑问,欢迎在后台留言。

除了函数,本文还加入了其他零碎的知识,后续我也会用这样的方式将小知识加入代码中,实践出真知,个人认为这样比将一大堆知识挤一起讲逐一演示要更容易消化,如果小伙伴们有更好的点子不妨分享出来让我做得更好。

猜你喜欢

转载自blog.csdn.net/qq_41841569/article/details/85619107