1.定义函数
def greet_user():
"""显示简单的问候语"""
print("Hello!")
greet_user()
1.1 向函数传递信息
def greet_user(username):
"""显示简单的问候语"""
print(f"Hello, {username.title()}!")
greet_user('张三')
1.2 实参和形参
def greet_user(username): # greet_user() 函数定义中 变量username是一个形参
"""显示简单的问候语"""
print(f"Hello, {username.title()}!")
greet_user('张三') # greet_user() 函数调用中,'张三'是一个实参,实参会传递给greet_user()函数,这个值会被赋值给变量username
2.传递实参(位置实参和关键字实参)
2.1 位置实参
def users_info(user_name, user_age):
"""打印用户信息"""
print(f"Hello, {user_name.title()}!, 你的年龄是{user_age}")
users_info('张三', 14)
def users_info(user_name: str, user_age: int): # 进阶用法 类型提示
"""打印用户信息"""
print(f"Hello, {user_name.title()}!, 你的年龄是{user_age}")
users_info("李四", 20) # 位置实参,位置很重要
users_info("王五", 21)
2.2 关键字参数
def users_info(user_name, user_age):
"""打印用户信息"""
print(f"Hello, {user_name.title()}!, 你的年龄是{user_age}")
users_info(user_age=28, user_name="马六") # 关键字参数无视顺序
2.3 形参指定默认值
def users_info(user_name, user_age=18): # 有默认值的形参要放到没有默认值的形参后面
"""打印用户信息"""
print(f"Hello, {user_name.title()}!, 你的年龄是{user_age}")
users_info(user_name="马六") # 默认设置user_age=18 # 等效调用
users_info("马六") # 默认设置user_age=18 # 等效调用
users_info("马六", 21) # 等效调用
users_info("马六", user_age=21) # 等效调用
3.返回值
3.1 返回简单值
def users_name(first_name, last_name):
"""返回标准格式的名字"""
full_name = f"Hello, {first_name} {last_name}"
return full_name.title()
name = users_name("zhang", "san")
print(name)
3.2 让实参变成可选的
def users_name(first_name, last_name, middle_name=''):
"""返回标准格式的名字"""
if middle_name:
full_name = f"Hello, {first_name} {middle_name} {last_name}"
else:
full_name = f"Hello, {first_name} {last_name}"
return full_name.title()
name = users_name("zhang", "san")
print(name)
name = users_name("wang", "zi", 'ma')
print(name)
3.3 返回字典
def users_info(first_name: str, last_name: str, middle_name='', age=18):
"""返回一个字典,其中包含个人信息"""
if middle_name:
full_name = {'name': first_name + middle_name + last_name, 'age': age}
else:
full_name = {'name': first_name + last_name, 'age': age}
return full_name
user = users_info('张', '三')
print(user) # {'name': '张三', 'age': 18}
3.4 结合使用函数和while循环
def users_name(first_name, last_name, middle_name=''):
"""返回标准格式的名字"""
if middle_name:
full_name = f"Hello, {first_name} {middle_name} {last_name}"
else:
full_name = f"Hello, {first_name} {last_name}"
return full_name.title()
这是一个while无限循环
while True:
print('输入“q”退出')
first_name = input("First name:")
if first_name == 'q':
break
middle_name = input("Middle name:")
if middle_name == 'q':
break
last_name = input("Last name:")
if last_name == 'q':
break
user_name = users_name(first_name, last_name, middle_name)
print(user_name)