小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
函数
定义:函数是一组具有特定功能的,可重复使用的语句组。
语法使用:
def <函数名>(<参数列表>):
<函数体>
return <返回值列表>
参数列表:调用该函数时传递给他的值,没有参数时也要保留圆括号。
形参:函数定义中参数列表里面的参数
函数调用和执行形式:
<函数名>(<参数列表>)
实参:参数列表中给出要传入函数内部的函数。
函数调用过程:程序在调用处会暂停执行,并在调用时将实参传给形参,然后执行函数体语句,函数调用结束后给出返回值,最后程序会重新回到调用前的暂停处继续执行。
传递实参:
def pet(type,color):
print(f"I have a {type}.")
print(f"Its body is {color}.")
pet("cat","yellow") #位置实参
pet(type = "cat",color = "yellow") #关键字实参
============================== RESTART:==============================
I have a cat.
Its body is yellow.
返回值
返回值就是函数返回的值,但它并非总是直接显示输出,它还可以处理一些数据并返回一个或一组值。
- 返回字典
def fresh_student(s_name,s_number):
student = {'name':s_name,'number':s_number}
return student
student_1 = fresh_student('zs','256777')
print(student_1)
============================== RESTART==============================
{'name': 'zs', 'number': '256777'}
传递列表
def greet_user(names):
for name in names:
greet = f"Hello,{name.title()}"
print(greet)
users=["lisa","mike","jisso"]
greet_user(users)
============================== RESTART==============================
Hello,Lisa
Hello,Mike
Hello,Jisso
导入整个模块
模块是扩展名为.py的文件及要导入到程序中的代码。 仍以上一个问候用户的代码为例,已知上一个例子的命名为greet.py,则
import greet
users=["lisa","mike","jisso"]
laa.greet_user(users)
============================== RESTART==============================
Hello,Lisa
Hello,Mike
Hello,Jisso
显而易见,效果和上一个一样,那是因为python在幕后打开了这个文件并在程序即将运行时复制了代码。
事实上,一个模块中应该有多个函数,那么怎么要是只想使用其中个别的函数呢?
导入特定的函数
导入方法(单个):from module_name import function_name
导入任意数量:from module_name import function_0,function_1,function_2
导入模块中所有函数:from moudle_name import*
使用as给函数指定别名
如果导入的函数名称冲突或太长,可以给函数起一个简短的别名。
如:from greet import greet_user as g,则函数名greet_user在后续使用中均可用g代替。(该方法同样适用于给模块指定别名)