概要等式運(yùn)算函數(shù)中參數(shù)的定義與調(diào)用定義函數(shù)時(shí)*的作用:out定義函數(shù)時(shí):**OUTOUT調(diào)用函數(shù)時(shí),和*均是為了分配參數(shù)用的調(diào)用函數(shù)時(shí):*:調(diào)用函數(shù)時(shí):**:
成都創(chuàng)新互聯(lián)公司是一家以重慶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站推廣、小程序App開(kāi)發(fā)等移動(dòng)開(kāi)發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都塔吊租賃等眾行業(yè)中小客戶(hù)提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開(kāi)發(fā)服務(wù)。
概要
關(guān)于""和"*"兩個(gè)特殊符號(hào)的區(qū)別,首先在python中是沒(méi)有指針的,與C++有很大的不同。
等式運(yùn)算
python中常用的乘法運(yùn)算符*
3*7
21
l=[2 * i for i in range(100) ]
l
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102,
104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198]
函數(shù)中參數(shù)的定義與調(diào)用
如果在定義函數(shù)時(shí),代表收集參數(shù),*代表收集關(guān)鍵字參數(shù)。
定義函數(shù)時(shí)*的作用:
def symbols(*params):
print(params)
out
symbols(1,2,3)
(1,2,3)
此時(shí)*是將調(diào)用時(shí)提供的所有值,放在一個(gè)元組里。
這種情況下,在函數(shù)定義時(shí)的形參里的*params后面,就最好不要再加入別的形參了,比如你定義成 def symbols(*params,x) ,調(diào)用的時(shí)候symbols(1,2,3),就會(huì)報(bào)錯(cuò)。因?yàn)檫@樣python分不清哪個(gè)數(shù)據(jù)是給params的。如果你非要這么定義也行,不過(guò)在調(diào)用的時(shí)候,必須顯示的指出哪個(gè)值是給x的。比如symbols(1,2,x=3),通過(guò)這種方式調(diào)用才不會(huì)出錯(cuò)。
定義函數(shù)時(shí):**
對(duì)于之前參數(shù)是*params的情況,symbols并不能傳入關(guān)鍵字參數(shù)。仍然采取這種方式定義時(shí):會(huì)報(bào)錯(cuò)
def symbols1(*params):
print(params)
OUT
symbols1(x=1,y=2,z=3)
Traceback (most recent call last):
File "stdin", line 1, in module
TypeError: symbols1() got an unexpected keyword argument 'x'
報(bào)錯(cuò)
因?yàn)?號(hào)并不會(huì)收集關(guān)鍵字參數(shù)。所以需要如下方式修改,采用兩個(gè)星號(hào):
def symbols2(**params):
print(params)
這樣調(diào)用symbols2就不會(huì)有問(wèn)題:
OUT
symbols2(x=1,y=2,z=3)
{'z'=3,'x'=1,'y'=2}
以上輸出得到一個(gè)字典。字典中元素的先后順序取決于你的環(huán)境。
調(diào)用函數(shù)時(shí),和*均是為了分配參數(shù)用的
調(diào)用函數(shù)時(shí):*:
例如,還是剛剛那個(gè)print函數(shù)
def symbols(x,y):
print(x)
print(y)
兩個(gè)形參,如果只想傳入一個(gè)形參呢
對(duì),“調(diào)用函數(shù)時(shí)分配參數(shù)”跟“定義函數(shù)時(shí)收集參數(shù)”,反過(guò)來(lái)了!
假設(shè)你還有一個(gè)元組:
params=(1,2)
可以通過(guò)如下方式調(diào)用symbols函數(shù):
symbols(*params)
就可以輸出:
1
2
調(diào)用函數(shù)時(shí):**:
和上面*時(shí)一樣,只是分配的是字典。
params={'x':1,'y':2}
可以通過(guò)如下方式調(diào)用symbols函數(shù):
symbols(**params)
就可以輸出:
1
2
1、編寫(xiě)乘法表函數(shù)
def buildMulTable():
for i in range(1, 10):
for j in range(1, i + 1):
print('{}x{}={}\t'.format(j, i, i * j), end='')
print()
buildMulTable()
2、運(yùn)行結(jié)果
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
首先,你的語(yǔ)法是 Python3 的語(yǔ)法,但是用的是 Python2;
其實(shí),類(lèi)似這種題目,借助格式化輸出會(huì)更加方便,看代碼:
# -*- encoding: gbk -*-
for row in range(1, 10):
for col in range(1, row + 1):
prod = row * col
print '%d * %d = %-2d ' % (col, row, prod),
Python定義
求余運(yùn)行a % b的值處于開(kāi)區(qū)間[0, b)內(nèi),如果b是負(fù)數(shù),開(kāi)區(qū)間變?yōu)?b, 0]。這是一個(gè)很常見(jiàn)的定義方式。不過(guò)其實(shí)它依賴(lài)于整除的定義。為了讓方程式:b * (a // b) + a % b = a恒真,整除運(yùn)行需要向負(fù)無(wú)窮小方向取值。比如7 // 3的結(jié)果是2,而(-7) // 3的結(jié)果卻是-3。這個(gè)算法與其它很多編程語(yǔ)言不一樣,需要注意,它們的整除運(yùn)算會(huì)向0的方向取值。
以上內(nèi)容參考:百度百科-Python
1、使用for-for
#九九乘法表
for i in range(1,10)
for j in range(1,i+1):
print('{}x{}={}\t'.format(j,i,i*j),end='')
print()
2、while-while
# 九九乘法表
i = 1
while i = 9:
j = 1
while(j = i): #j的大小是由i來(lái)控制的
print('%d*%d=%-3d' %(i, j, i*j),end='\t' )
j += 1
print('')
i += 1
3、while-for
i = 1
while(i =9):
for j in range (1,i+1): #range()函數(shù)左閉右開(kāi)
print('%d*%d=%-3d'%(i,j,i*j),end='')
i += 1
print()
4、for-while
for i in range(1,10):
j = 0
while j i:
j += 1
print("%d*%d=%-3d"%(i,j,i*j),end='')
print()
5、定義一個(gè)變量a
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
j = 1
while j = i:
print('%d*%d=%-3d'%(i,j,i*j),end='\t')
# %-3d 是控制輸出結(jié)果占據(jù)3位,且從左面開(kāi)始對(duì)齊
j += 1
print()
6、使用1行語(yǔ)句
print('\n' .join([' '.join(["%2s x%2s = %2s" % (j, i, i*j)for j in range(1,
i+1)])for i in range(1, 10)]))
網(wǎng)站名稱(chēng):python乘法函數(shù) Python乘法函數(shù)
標(biāo)題網(wǎng)址:http://muchs.cn/article4/doccdoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶(hù)體驗(yàn)、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)、電子商務(wù)、網(wǎng)站改版、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容