当前位置: 首页 > news >正文

008_函数

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)

http://www.zskr.cn/news/18940.html

相关文章:

  • vscode 生成代码片段
  • MySQL根据表生成实体类
  • 【黑马python】基础 3.Python 判断语句 if-else
  • 千万公众号运营者必看:8 款编辑器核心能力大 PK
  • 详细介绍:linux基础服务
  • 2025常州微弧氧化批发厂家最新推荐榜:技术领先与优质服务双
  • 2025常州微弧氧化批发厂家最新推荐榜:技术领先与优质服务双
  • sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一。
  • 2025 温室/蔬菜/花卉/单栋/玻璃温室/连栋/连栋膜温室/薄膜/塑料/钢架大棚厂家推荐榜:聚焦多场景种植需求,提供专业设施解决方案!
  • Delta并联机器人正逆解实现
  • MATLAB的无刷直流电机转速电流双闭环仿真实现
  • AI设计软件/工具/品牌/方案/大模型/开源模型/平台/小程序/插件公司推荐:专注多场景智能设计解决方案供应!
  • STM32环境配备keil5【保姆级】
  • 软考中项备考经验分享 - 详解
  • 2025七水硫酸锌供货厂家最新推荐榜:品质稳定与高效服务的优
  • 从 1 到 1000:MyEMS 社区如何用开源力量搭建中小企业的 “零碳工具箱”?
  • 用python定义类时,用子类继承父类,当父类需要从子类中传递很多形参时,该怎么处理
  • LLM Agentic Memory Systems
  • 量化(一)
  • 2025 年试验箱厂商最新推荐排行榜:涵盖高低温 / 恒温恒湿 / 冷热冲击等设备,精选研发实力强、质量管控严的优质企业
  • 2025 最新化粪池生产厂家推荐排行榜:聚焦老牌标杆与新锐力量,预制 / 玻璃钢品类权威甄选钢筋混凝土/一体/成品/拼装式化粪池厂家推荐
  • 加权图异常检测技术获最具影响力论文奖
  • java基础3-判断和循环
  • 论文对比
  • 关于我心目中的理想课堂构建之法的一些感受
  • 2025 年工业与民用加热器品牌最新推荐排行榜,深度盘点机柜、柜内、紧凑、PTC 风扇型等多类型加热器优质厂商
  • Qoj 14436. Robot Construction/Open Your Brain 做题记录
  • 如何查看Linux系统信息,Linux查看系统基本信息命令
  • 当游戏NPC有了“灵魂”,网易伏羲解码游戏智能交互场景新实践
  • CF1082E 解题报告