(六)python--函数

123 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

函数

定义:函数是一组具有特定功能的,可重复使用的语句组。

语法使用:

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代替。(该方法同样适用于给模块指定别名)