博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python+Selenium学习笔记11 - python官网的tutorial - 定义函数
阅读量:5286 次
发布时间:2019-06-14

本文共 2385 字,大约阅读时间需要 7 分钟。

1 def f(a, L=[]):2     L.append(a)3     return L4 5 print f(5)6 print f(2)

输出

 

1 def f(a, L=None):2     if L is None:3         L = []4     L.append(a)5     return L6 7 print f1(5)8 print f1(2)

输出

 

 

 上面两个函数的区别,f()输出的结果是累加的,f1()输出的结果是独立的

If you don’t want the default to be shared between subsequent calls -> 用f1()

 

4.7.2. Keyword Arguments

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):    print("-- This parrot wouldn't", action, end=' ')    print("if you put", voltage, "volts through it.")    print("-- Lovely plumage, the", type)    print("-- It's", state, "!")parrot(1000)                                          # 1 positional argumentparrot(voltage=1000)                                  # 1 keyword argumentparrot(voltage=1000000, action='VOOOOOM')             # 2 keyword argumentsparrot(action='VOOOOOM', voltage=1000000)             # 2 keyword argumentsparrot('a million', 'bereft of life', 'jump')         # 3 positional argumentsparrot('a thousand', state='pushing up the daisies')  # 1 positional, 1 keyword # 异常情况,下面几种情况运行都不成功
parrot()                     # required argument missing ,必须有个必填参数parrot(voltage=5.0, 'dead') # non-keyword argument after a keyword argument ,这个当我把第二个参数换成status='dead'时运行成功。我的理解是前面参数用了参数名,后面就必须得跟,要是前面没跟,那后面跟不跟都可以 parrot(110, voltage=220) # duplicate value for the same argument,重复传参 parrot(actor='John Cleese') # unknown keyword argument #参数typo
 

 输出

解析

传值时,带变量voltage=1000,运行时会自动匹配到对应的位置

不带变量parrot('a million', 'bereft of life', 'jump') ,则按顺序传参

 

 定义函数有 *name和 **name时, *name 必须在 **name之前。

1 def cheeseshop(kind, *arguments, **keywords): 2     print("-- Do you have any", kind, "?") 3     print("-- I'm sorry, we're all out of", kind) 4     for arg in arguments: 5         print(arg) 6     print("-" * 40) 7     for kw in keywords: 8         print(kw, ":", keywords[kw]) 9 10 cheeseshop("Limburger", "It's very runny, sir.",11            "It's really very, VERY runny, sir.",12            shopkeeper="Michael Palin",13            client="John Cleese",14            sketch="Cheese Shop Sketch")15 16 # 输出结果17 -- Do you have any Limburger ?18 -- I'm sorry, we're all out of Limburger19 It's very runny, sir.20 It's really very, VERY runny, sir.21 ----------------------------------------22 shopkeeper : Michael Palin23 client : John Cleese24 sketch : Cheese Shop Sketch

 

 

 

 

 

 

 

 

 

 

 

 
 

转载于:https://www.cnblogs.com/sue2015/p/9057225.html

你可能感兴趣的文章
会话控制
查看>>
推荐一款UI设计软件Balsamiq Mockups
查看>>
Linux crontab 命令格式与详细例子
查看>>
百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
查看>>
游标使用
查看>>
LLBL Gen Pro 设计器使用指南
查看>>
SetCapture() & ReleaseCapture() 捕获窗口外的【松开左键事件】: WM_LBUTTONUP
查看>>
Android 设置界面的圆角选项
查看>>
百度地图api服务端根据经纬度得到地址
查看>>
根据xml生成相应的对象类
查看>>
Android StageFrightMediaScanner源码解析
查看>>
打包java程序生成exe
查看>>
八叉树
查看>>
Git 远程仓库
查看>>
关于静态文本框透明度的问题
查看>>
javascript的发展及个人笔记
查看>>
全选,反全选,反选,获取选中的值,根据子选择控制全选按钮
查看>>
[CF#250 Div.2 D]The Child and Zoo(并查集)
查看>>
博客园博客插入公式
查看>>
hdu 1028 Ignatius and the Princess III(母函数入门+模板)
查看>>