【一】函数的基本使用
- 我们在前面的学习中,所有的功能代码都集中在一块,需要使用同一功能时,需重复编写该功能的代码,这样比较麻烦,当我们到后面代码变得越来越长,也不利于我们修改其中一个小功能的代码
- 我们完全可以从现实生活中找到简化程序设计的方案:
- 比如一个修理工会事先准备好螺丝刀、锤子等工具,这样在进行修理的过程中
- 需要用到拧螺丝的功能时就直接拿来螺丝刀使用
- 需要用到锤击物体的功能时就直接拿来锤子使用,而无需临时制造
- 这个例子的核心在于’事先准备好工具,遇到应用场景时拿来就用
- 在程序中,具备某一功能的工具指的就是函数,事先准备工具的过程即函数的定义,拿来就用即函数的调用
【二】函数的定义和调用
【1】函数的概念
- 函数的使用必须遵循先定义,后调用的原则
- 函数的定义就是事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用
- 没有事先定义函数而直接调用,就相当于在引用一个不存在的变量名
def 函数名(参数1,参数2,...):
函数体
return 值
【2】函数的定义
(1)空函数
def login():
pass
#函数体为pass代表什么都不做,称之为空函数
(2)无参无返回值
def get_username_password():
username_input = input("请输入用户名:").strip()
password_input = input("请输入密码:").strip()
(3)有参无返回值
def user(name):
print(f"name:{name}")
user(name='ligo')
#输出 name:ligo
(4)有多个参数无返回值
def user(name, age):
print(f"name:{name}|age:{age}")
user('ligo', '18')
#输出 name:ligo|age:18
(5)多个参数一个返回值
def user(name, age):
user_data = f'{name} is {age} years old'
print(f"{name}:{user_data}")
return user_data
res = user('ligo', '18') #ligo:ligo is 18 years old
print(res)
#输出 ligo is 18 years old
(6)多个参数多个返回值
def user(name, age):
user_data1 = f'{name} is {age} years old'
user_data2 = f'He is {name}, he has {age} apples'
return user_data1, user_data2
user_data1, user_data2 = user('ligo', '18')
print(f'{user_data1} | {user_data2}')
#输出 ligo is 18 years old | He is ligo, he has 18 apples
【3】函数的三种调用方式
(1)直接调用
def mult(x, y):
return x * y
print(mult(5, 6)) #输出 30
(2)表达式调用
def add1(x, y):
return x + y
add2 = add1
print(add2(5, 6)) #输出 11
#示例
def add(x, y):
res = x + y
return res
def mult(x, y):
res = x * y
return res
func_dict = {1: add, 2: mult}
func_id = input("请选择功能:")
func_id = int(func_id)
func = func_dict.get(int(func_id))
x = input("请输入x的值:")
y = input("请输入y的值:")
res = func(int(x), int(y))
print(res)
(3)函数作为参数
def add(x, y):
return x + y
def mult(func, x, y):
return func(x, y)
print(mult(add, 2, 4)) #输出 6
标签:函数,Python,ligo,高级,user,func,def,name
From: https://www.cnblogs.com/ligo6/p/18179996