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

站酷官网首页文化企业官方网站开发方案书

站酷官网首页,文化企业官方网站开发方案书,商业网站建设举例,源码商城交易平台大家好#xff0c;如果能在Python中创建适应不同场景的函数#xff0c;而无需每次都重写它们#xff0c;会使得操作简洁方便#xff0c;这就是*args和**kwargs的魔力所在。就像为函数准备了一个神奇的袋子#xff0c;可以装下任意多的参数——使代码更整洁、更灵活。 为了…大家好如果能在Python中创建适应不同场景的函数而无需每次都重写它们会使得操作简洁方便这就是*args和**kwargs的魔力所在。就像为函数准备了一个神奇的袋子可以装下任意多的参数——使代码更整洁、更灵活。 为了帮助大家更好地理解Python中的*args和**kwargs接下来展示一下如果没有这些概念代码将会是什么状态。 这里展示一个简单的函数simple_sum用于将两个数字相加 def simple_sum(a, b):return a  bresult  simple_sum(3, 7) print(result)想象一下如果想创建一个将三个数字相加的函数最终可能会以如下方式重写这个函数 def simple_sum_three(a, b, c):return a  b  cresult_three  simple_sum_three(3, 7, 5) print(result_three)如果想将更多的数字相加不得不为每种情况创建新函数这既不优雅也不灵活。为了解决这个问题有一个称为“参数打包”的概念可以在函数定义语句中使用*符号将一个参数转换为超级参数它可以作为一个袋子并在调用函数时容纳/打包传递它的所有值存储在一个变量中。 同样符号*也可以用于解包数据结构具体取决于它的使用方式本文将在后面介绍如何做到这一点。 1.使用*args进行参数打包 在Python中当在函数定义中看到一个星号*紧跟在一个参数前面时这是参数打包的信号。这意味着可以向函数传递任意数量的参数它们将被整洁地打包成一个元组。就像为函数准备了一个神奇的袋子使它能够适应不同的情况而无需不断地重写函数。 def magic_sum(*args):result  sum(args)return result# 三个数字相加 result1  magic_sum(3, 7, 5) print(Result 1:, result1)  # 预期输出15(375)# 五个数字相加 result2  magic_sum(1, 2, 3, 4, 5) print(Result 2:, result2)  # 预期输出15(12345)# 相加更多数字 result3  magic_sum(10, 20, 30, 40, 50, 60) print(Result 3:, result3)  # 预期输出210(102030405060)在这个示例中magic_sum函数使用*args进行参数打包。可以使用不同数量的参数调用这个函数它会将这些参数整洁地打包成一个元组进行加法运算。在这种情况下变量args就变成了一个元组。就像有了一个可以处理任意数量输入的计算器而无需更改其公式。 2.参数解包 另一方面在调用函数时可以使用星号*表示正在解包一个值序列元组、列表、集合、字符串并将其元素作为单独的值传递。这种方法适用于将数据保存在集合例如元组中但希望从集合中提取每个值并将其作为单独参数传递给函数的情况。 def display_values(a, b, c):print(Value of a:, a)print(Value of b:, b)print(Value of c:, c)# 解包一个元组并将其元素作为单独的值传递 tuple_values  (7, 14, 21) display_values(*tuple_values) # 等同于 display_values(7, 14, 21)可以使用此方法从多个集合类型数据中提取值 def display_values(a, b, c):print(Value of a:, a)print(Value of b:, b)print(Value of c:, c)# 解包一个元组并将其元素作为单独的值传递 tuple_values  (7, 14, 21) display_values(*tuple_values)  # 等同于 display_values(7, 14, 21)# 解包一个列表 list_values  [30, 40, 50] display_values(*list_values)  # 等同于 display_values(30, 40, 50)# 解包一个字符串每个字符成为单独的参数 string_values  XYZ display_values(*string_values)  # 等同于 display_values(X, Y, Z)# 解包一个集合 set_values  {60, 70, 80} display_values(*set_values)  # 顺序可能会有变化等同于 display_values(60, 70, 80)# 解包一个范围 range_values  range(3, 6) display_values(*range_values)  # 等同于 display_values(3, 4, 5)还可以将函数定义部分的a、b、c更改为values以接收可变数量的参数。values将成为传递的所有参数的元组。这可以理解为同时进行打包和解包。 def display_values(*values): # 将数值打包到一个变量中。print(Values:, values)# 解包一个元组并将其元素作为单独的值传递 tuple_values  (7, 14, 21) display_values(*tuple_values) 3.使用**进行关键字参数打包 接下来本文将使用双星号**这是Python的一个运算符它将字典的打包和解包引入其中。当一个函数参数以“**”为前缀时它表示相应的参数应该是键值对并整齐地打包成一个字典。这与元组参数的打包相同但用于函数参数为关键字参数的情况。 def display_info(**kwargs):for key, value in kwargs.items():print(f{key}: {value})# 在函数调用中直接传递关键字参数 display_info(nameAlice, age25, cityWonderland)4.关键字参数解包 解包字典并将其内容作为单独的关键字参数传递给函数。这种方法适用于将数据保存在字典中但又想从字典中提取每个键值对并将其作为单独的关键字参数传递给函数的情况 def display_person_info(name, age, city):print(Name:, name)print(Age:, age)print(City:, city)# 解包一个包含预期键值对的字典 person_info  {name: Alice, age: 25, city: Wonderland} display_person_info(**person_info)5.结合使用*args和**kwargs 结合*args和**kwargs的力量将它们分别视为长度可变的位置参数列表和关键字参数列表。 def display_information(*args, **kwargs):print(Positional Arguments (*args):)for arg in args:print(arg)print(\nKeyword Arguments (**kwargs):)for key, value in kwargs.items():print(f{key}: {value})# 使用位置参数和关键字参数的混合调用函数 display_information(1, apple, nameAlice, age25, cityWonderland)在此示例中display_information函数接收*args以处理任意数量的位置参数接收**kwargs以处理任意数量的关键字参数然后该函数分别打印每种类型的参数。 6.一次性进行多次解包 Python中的另一个有趣功能是能够在单个函数调用中执行多次解包。 def display_values(*args):for value in args:print(value)# 在单个函数调用中进行多次解包 list_values  [1, 2, 3] tuple_values  (4, 5, 6) set_values  {7, 8, 9}display_values(*list_values, *tuple_values, *set_values)在此示例中display_values函数使用多次解包以单行方式调用三种不同的可迭代类型列表、元组和集合。在函数调用期间通过多次解包*list_values*tuple_values*set_values收集所有值存储在单个args参数中。
http://www.zqtcl.cn/news/502087/

相关文章:

  • 主机开通成功网站正在建设中中国建设银行登录官网
  • 12306的网站是哪个公司做的wordpress搜索页分类
  • 众筹网站的分析与设计wordpress 主题制作教程
  • 淘宝放单网站怎么做app制作公司哪个好
  • 地税城市维护建设税网站是什么意思订阅号怎么开通小程序
  • 网站添加二级域名wordpress火车头免登录发布
  • 大美工设计网站官网中山网站建设找丁生
  • 做算命网站标准版网站制作
  • 建设网站是普通办公吗温州 网站 公司
  • 哪里做外贸网站汉服网站开发背景
  • 建模外包网站企业代码查询入口
  • wordpress快速仿站视频教程广州知名网站建设哪家好
  • 楼盘网站开发网站服务理念
  • 私人ftp服务器seo整站如何优化
  • 做网站的工作叫什么美工需要会哪些软件
  • 阿克苏网站建设咨询海南跨境免税电商入驻流程
  • 母婴网站模板在线设计网站海报
  • 网站关键词优化公司哪家好如何跟客户沟通网站建设
  • 山西省经济建设投资公司网站滁州网站建设
  • 优秀设计网站哈尔滨vi设计公司
  • 如何建购物网站论坛类的网站怎样做
  • 河南省建设工程招投标协会网站安卓开发软件工具
  • 中国空间站wordpress无法选择服务器配置
  • 郑州家居网站建设服务公司asp网站助手
  • 做网站一般几个人WordPress 中英文翻译
  • 有没有兼职做网站的化工企业建网站
  • 石家庄展厅设计公司黑帽seo怎么做网站排名
  • 网站开发维护成本计算wordpress 无法访问
  • 永久免费做网站营销软文广告
  • 网站规划怎么写wordpress如何搭建博客