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

淮南网络推广公司数字营销服务商seo

淮南网络推广公司,数字营销服务商seo,网站宝 西部数码网站管理助手,龙岩网站设计 贝壳下拉Python定义函数非常简单#xff0c;而且具有很高的灵活度。函数的参数传递方式多种多样。需要记忆和理解。 1.位置参数#xff1a; 举例#xff0c; def power(x): return x * x power#xff08;x#xff09;函数中#xff0c;x就是一个位置参数。调用时#xff0c;必须…Python定义函数非常简单而且具有很高的灵活度。函数的参数传递方式多种多样。需要记忆和理解。 1.位置参数 举例 def power(x):    return x * x powerx函数中x就是一个位置参数。调用时必须传入一个参数x。 2.默认参数 举例 def power(x, n2):     s 1 while n 0:     n n - 1     s s * x     return s 当我们调用的时候第二个参数会默认为2。例如使用power5的时候会默认计算5的平方。要计算5的三次方只需要调用power5,3即可。 使用时注意必选参数在前默认参数在后。当函数有多个参数时将变化大的参数放在前面变化小的放在后面。变化小的可以作为默认参数。 3.可变参数 顾名思义可变参数就是传入的参数个数是可变的可以是1个、2个到任意个还可以是0个。 举例   def calc(numbers):sum 0 for n in numbers: sum sum n * n return sum 但是调用的时候需要先组装出一个list或tuple calc([1, 2, 3])  output 14 如果利用可变参数调用函数的方式可以简化成这样 calc(1, 2, 3) 14 calc(1, 3, 5, 7) 84 在参数前加一个*可以将参数改变。使得number接收到的是一个元组。使调用函数时可以传入N个参数。包括0个 def calc(*numbers):sum 0 for n in numbers: sum sum n * n return sum 如果已经有一个list或者tuple如nums [1, 2, 3]  可以使用calc(nums[0], nums[1], nums[2])或者calc(*nums) *nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用而且很常见。 4.关键字参数   关键字参数允许你传入0个或任意个含参数名的参数这些关键字参数在函数内部自动组装为一个dict。 举例 def person(name, age, **kw):print(name:, name, age:, age, other:, kw)函数person除了必选参数name和age外还接受关键字参数kw。在调用该函数时可以只传入必选参数也可以只传入任意个数的关键字参数 person(Michael, 30) name: Michael age: 30 other: {}或者 person(Bob, 35, cityBeijing) name: Bob age: 35 other: {city: Beijing} person(Adam, 45, genderM, jobEngineer) name: Adam age: 45 other: {gender: M, job: Engineer}和可变参数类似也可以先组装出一个dict然后把该dict转换为关键字参数传进去 extra {city: Beijing, job: Engineer} person(Jack, 24, cityextra[city], jobextra[job]) name: Jack age: 24 other: {city: Beijing, job: Engineer}简化的写法: extra {city: Beijing, job: Engineer} person(Jack, 24, **extra) name: Jack age: 24 other: {city: Beijing, job: Engineer} **extra表示把extra这个dict的所有key-value用关键字参数传入到函数的**kw参数kw将获得一个dict注意kw获得的dict是extra的一份拷贝对kw的改动不会影响到函数外的extra。5.命名关键字函数对于关键字参数函数的调用者可以传入任意不受限制的关键字参数。至于到底传入了哪些就需要在函数内部通过kw检查。举例我们需要检查city和job参数 def person(name, age, **kw):if city in kw: # 有city参数 pass if job in kw: # 有job参数 pass print(name:, name, age:, age, other:, kw) 但是调用者仍可以传入不受限制的关键字参数 person(Jack, 24, cityBeijing, addrChaoyang, zipcode123456)上面可以看出我们传入的zipcode并不在参数内但是也当做other处理了。因为我们在if后面没有做操作。 如果要限制关键字参数的名字就可以用命名关键字参数例如只接收city和job作为关键字参数。这种方式定义的函数如下 def person(name, age, *, city, job):print(name, age, city, job)和关键字参数**kw不同命名关键字参数需要一个特殊分隔符**后面的参数被视为命名关键字参数。 调用方式如下 person(Jack, 24, cityBeijing, jobEngineer) Jack 24 Beijing Engineer 如果函数定义中已经有了一个可变参数后面跟着的命名关键字参数就不再需要一个特殊分隔符*了 def person(name, age, *args, city, job):print(name, age, args, city, job)命名关键字参数必须传入参数名这和位置参数不同。如果没有传入参数名调用将报错 person(Jack, 24, Beijing, Engineer) Traceback (most recent call last):File stdin, line 1, in module TypeError: person() takes 2 positional arguments but 4 were given  % 由于调用时缺少参数名city和jobPython解释器把这4个参数均视为位置参数但person()函数仅接受2个位置参数。 命名关键字参数可以有缺省值从而简化调用 def person(name, age, *, cityBeijing, job): print(name, age, city, job) 由于命名关键字参数city具有默认值调用时可不传入city参数 person(Jack, 24, jobEngineer) Jack 24 Beijing Engineer 参数组合 在Python中定义函数可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数这5种参数都可以组合使用。但是请注意参数定义的顺序必须是必选参数、默认参数、可变参数、命名关键字参数和关键字参数。 比如定义一个函数包含上述若干种参数 def f1(a, b, c0, *args, **kw): print(a , a, b , b, c , c, args , args, kw , kw) def f2(a, b, c0, *, d, **kw): print(a , a, b , b, c , c, d , d, kw , kw) 在函数调用的时候Python解释器自动按照参数位置和参数名把对应的参数传进去。 f1(1, 2) a 1 b 2 c 0 args () kw {} f1(1, 2, c3) a 1 b 2 c 3 args () kw {} f1(1, 2, 3, a, b) a 1 b 2 c 3 args (a, b) kw {} f1(1, 2, 3, a, b, x99) a 1 b 2 c 3 args (a, b) kw {x: 99} f2(1, 2, d99, extNone) a 1 b 2 c 0 d 99 kw {ext: None} 通过一个tuple和dict也可以调用上述函数 args (1, 2, 3, 4) kw {d: 99, x: #} f1(*args, **kw) a 1 b 2 c 3 args (4,) kw {d: 99, x: #} args (1, 2, 3) kw {d: 88, x: #} f2(*args, **kw) a 1 b 2 c 3 d 88 kw {x: #} 所以对于任意函数都可以通过类似func(*args, **kw)的形式调用它无论它的参数是如何定义的。  转载于:https://www.cnblogs.com/daidong805/p/9147676.html
http://www.pierceye.com/news/406535/

相关文章:

  • 一键网站制作定制网站型网站开发
  • 营销型网站开发流程包括辽宁建设工程信息网新网址
  • 宁德企业网站建设网站开发成本包括
  • 茂名建设中专学校网站如何做国际贸易网站
  • 自己办网站网站开发多久
  • wordpress 图表插件网站seo找准隐迅推
  • 欧美网站设计网站制作基础教程
  • wordpress显示icp备案号手机关键词排名优化
  • 网站建设与管理属于什么部门自助建站 知乎
  • 成都网站开发哪个好常州建网站
  • 陕西住房与城乡建设厅网站从化市营销型网站建设
  • 如何在网站上做推广自己做网站的图片
  • 珠海模板网站建设wordpress 底部工具栏
  • 网站建设的业务流程图招聘网站上找在家做
  • 网站设计的工具盱眙在仕德伟做网站的有几家
  • 建设一个网站要花多少时间临沂网站网站建设
  • 南宁网站推广经理做动漫网站如何应用数据绑定
  • 眼镜东莞网站建设兰州公司做网站
  • 改成 响应式 网站重庆微信企业网站
  • 用微信怎么做商城网站微信官网下载安装
  • 汽车网站建设方案预算md风格的wordpress主题
  • 免费外贸网站模板dede 网站栏目管理
  • 做网站有包括哪些东西站长素材网
  • 淘宝做促销的网站网站开发报价清单
  • 备案查询网站网站建设中可能遇到的问题
  • 怎么注册网站的步骤快速建站官网
  • 网站怎么做口碑wordpress淘宝客知乎
  • 响应式网站建设信息网站建设宽带
  • ps如何做网站超级链接微信公众平台运营中心电话
  • 网站建设怎么估算费用和报价h5特效网站欣赏