真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

nop函數(shù)Python nop函數(shù)是干什么的

Python中定義函數(shù)默認(rèn)參數(shù)值的使用注意事項?

4.7.1. 默認(rèn)參數(shù)值

成都創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計團(tuán)隊扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、網(wǎng)站制作、做網(wǎng)站、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10余年的網(wǎng)站建設(shè)設(shè)計經(jīng)驗,為成都上千家中小型企業(yè)策劃設(shè)計了網(wǎng)站。

最常用的一種形式是為一個或多個參數(shù)指定默認(rèn)值。這會創(chuàng)建一個可以使用比定義是允許的參數(shù)更少的參數(shù)調(diào)用的函數(shù),例如:

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):

while True:

ok = input(prompt)

if ok in ('y', 'ye', 'yes'):

return True

if ok in ('n', 'no', 'nop', 'nope'):

return False

retries = retries - 1

if retries 0:

raise OSError('uncooperative user')

print(complaint)

這個函數(shù)可以通過幾種不同的方式調(diào)用:

只給出必要的參數(shù):

ask_ok('Do you really want to quit?')

給出一個可選的參數(shù):

ask_ok('OK to overwrite the file?', 2)

或者給出所有的參數(shù):

ask_ok('OK to overwrite the file?', 2, 'Come on, only yes or no!')

這個例子還介紹了 in 關(guān)鍵字。它測定序列中是否包含某個確定的值。

默認(rèn)值在函數(shù) 定義 作用域被解析,如下所示:

i = 5

def f(arg=i):

print(arg)

i = 6

f()

將會輸出 5。

重要警告: 默認(rèn)值只被賦值一次。這使得當(dāng)默認(rèn)值是可變對象時會有所不同,比如列表、字典或者大多數(shù)類的實(shí)例。例如,下面的函數(shù)在后續(xù)調(diào)用過程中會累積(前面)傳給它的參數(shù):

def f(a, L=[]):

L.append(a)

return L

print(f(1))

print(f(2))

print(f(3))

這將輸出:

[1]

[1, 2]

[1, 2, 3]

如果你不想讓默認(rèn)值在后續(xù)調(diào)用中累積,你可以像下面一樣定義函數(shù):

def f(a, L=None):

if L is None:

L = []

L.append(a)

return L

Python的函數(shù)參數(shù)總結(jié)

import math

a = abs

print(a(-1))

n1 = 255

print(str(hex(n1)))

def my_abs(x):

# 增加了參數(shù)的檢查

if not isinstance(x, (int, float)):

raise TypeError('bad operand type')

if x = 0:

return x

else:

return -x

print(my_abs(-3))

def nop():

pass

if n1 = 255:

pass

def move(x, y, step, angle=0):

nx = x + step * math.cos(angle)

ny = y - step * math.sin(angle)

return nx, ny

x, y = move(100, 100, 60, math.pi / 6)

print(x, y)

tup = move(100, 100, 60, math.pi / 6)

print(tup)

print(isinstance(tup, tuple))

def quadratic(a, b, c):

k = b * b - 4 * a * c

# print(k)

# print(math.sqrt(k))

if k 0:

print('This is no result!')

return None

elif k == 0:

x1 = -(b / 2 * a)

x2 = x1

return x1, x2

else:

x1 = (-b + math.sqrt(k)) / (2 * a)

x2 = (-b - math.sqrt(k)) / (2 * a)

return x1, x2

print(quadratic(2, 3, 1))

def power(x, n=2):

s = 1

while n 0:

n = n - 1

s = s * x

return s

print(power(2))

print(power(2, 3))

def enroll(name, gender, age=8, city='BeiJing'):

print('name:', name)

print('gender:', gender)

print('age:', age)

print('city:', city)

enroll('elder', 'F')

enroll('android', 'B', 9)

enroll('pythone', '6', city='AnShan')

def add_end(L=[]):

L.append('end')

return L

print(add_end())

print(add_end())

print(add_end())

def add_end_none(L=None):

if L is None:

L = []

L.append('END')

return L

print(add_end_none())

print(add_end_none())

print(add_end_none())

def calc(*nums):

sum = 0

for n in nums:

sum = sum + n * n

return sum

print(calc(1, 2, 3))

print(calc())

l = [1, 2, 3, 4]

print(calc(*l))

def foo(x, y):

print('x is %s' % x)

print('y is %s' % y)

foo(1, 2)

foo(y=1, x=2)

def person(name, age, **kv):

print('name:', name, 'age:', age, 'other:', kv)

person('Elder', '8')

person('Android', '9', city='BeiJing', Edu='人民大學(xué)')

extra = {'city': 'Beijing', 'job': 'Engineer'}

person('Jack', 24, **extra)

def person2(name, age, *, city, job):

print(name, age, city, job)

person2('Pthon', 8, city='BeiJing', job='Android Engineer')

def person3(name, age, *other, city='BeiJing', job='Android Engineer'):

print(name, age, other, city, job)

person3('Php', 18, 'test', 1, 2, 3)

person3('Php2', 28, 'test', 1, 2, 3, city='ShangHai', job='Pyhton Engineer')

def test2(a, b, c=0, *args, key=None, **kw):

print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'key=', key, 'kw =', kw)

test2(1, 2, 3, 'a', 'b', 'c', key='key', other='extra')

args = (1, 2, 3, 4)

kw = {'d': 99, 'x': '#'}

test2(*args, **kw)

如何在Python中定義靜態(tài)變量

Python使用函數(shù)默認(rèn)值實(shí)現(xiàn)函數(shù)靜態(tài)變量的方法,具體方法如下:

一、Python函數(shù)默認(rèn)值

Python函數(shù)默認(rèn)值的使用可以在函數(shù)調(diào)用時寫代碼提供方便,很多時候我們只要使用默認(rèn)值就可以了。 所以函數(shù)默認(rèn)值在python中用到的很多,尤其是在類中間,類的初始化函數(shù)中一幫都會用到默認(rèn)值。 使用類時能夠方便的創(chuàng)建類,而不需要傳遞一堆參數(shù)。

只要在函數(shù)參數(shù)名后面加上 ”=defalut_value”,函數(shù)默認(rèn)值就定義好了。有一個地方需要注意的是,有默認(rèn)值的參數(shù)必須在函數(shù)參數(shù)列表的最后,不允許將沒有默認(rèn)值的參數(shù)放在有默認(rèn)值的參數(shù)后,因為如果你那樣定義的話,解釋器將不知道如何去傳遞參數(shù)。

先來看一段示例代碼:

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):

while True:

ok = raw_input(prompt)

if ok in ('y', 'ye', 'yes'): return True

if ok in ('n', 'no', 'nop', 'nope'): return False

retries = retries - 1

if retries 0: raise IOError, 'refusenik user'

print complaint

你調(diào)用上面的函數(shù)時,可以修改重試次數(shù)和輸出的提示語言,如果你比較懶得話,那么什么都不用改。

二、python使用函數(shù)默認(rèn)值來實(shí)現(xiàn)函數(shù)靜態(tài)變量的功能

Python中是不支持靜態(tài)變量的,但是我們可以通過函數(shù)的默認(rèn)值來實(shí)現(xiàn)靜態(tài)變量的功能。

當(dāng)函數(shù)的默認(rèn)值是內(nèi)容是可變的類時,類的內(nèi)容可變,而類的名字沒變。(相當(dāng)于開辟的內(nèi)存區(qū)域沒有變,而其中內(nèi)容可以變化)。

這是因為python中函數(shù)的默認(rèn)值只會被執(zhí)行一次,(和靜態(tài)變量一樣,靜態(tài)變量初始化也是被執(zhí)行一次。)這就是他們的共同點(diǎn)。

再來看下面的程序片段:

def f(a, L=[]):

L.append(a)

return L

print f(1)

print f(2)

print f(3)

print f(4,['x'])

print f(5)

其輸出結(jié)果是:

[1]

[1, 2]

[1, 2, 3]

['x', 4]

[1, 2, 3, 5]

前面的好理解,為什么最后 “print f(5)”的輸出是 “[1, 2, 3, 5]”呢?

這是因為 “print f(4,['x'])”時,默認(rèn)變量并沒有被改變,因為默認(rèn)變量的初始化只是被執(zhí)行了一次(第一次使用默認(rèn)值調(diào)用),初始化執(zhí)行開辟的內(nèi)存區(qū)(我們可以稱之為默認(rèn)變量)沒有被改變,所以最后的輸出結(jié)果是“[1, 2, 3, 5]”。


分享題目:nop函數(shù)Python nop函數(shù)是干什么的
分享路徑:http://weahome.cn/article/doiighi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部