其實各個語言的基礎都是相通的。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、成都做網(wǎng)站、蕭山網(wǎng)絡推廣、重慶小程序開發(fā)、蕭山網(wǎng)絡營銷、蕭山企業(yè)策劃、蕭山品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供蕭山建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
words = ['soften', 'civilize', 'personalization', 'bakery', strain', 'glimpse', 'royals']
for word in words:
if word == 'civilize':
? ? print(word.upper()) #全部大寫輸出
else:
? ? print(word.title()) #首字母大寫輸出
result:
Soften
CIVILIZE
Personalization
Bakery
Strain
Glimpse
Royals
*
條件語句包括:!=\=\=\\? #這點python還是做的很好哈。
chl = 21
fsy = 32
chl =20 and fsy =31 #檢查兩個條件語句,使用關鍵詞and result:False
(chl =20) and (fsy =31) #也可將每個測試放在一對括號內(nèi)
chl =20 or fay =31 #使用or result:True
*
word = ['bride', 'castle', 'masterpieces', 'mystery', 'tragedy', 'bakery', 'strain', 'glimpse']
'castle' in word #使用關鍵詞in讓python檢查列表中是否有'castle'
words = ['emperor', 'castle', 'royal', 'diplomat', 'bakery', 'strain', 'glimpse']
chl = 'emperors'
if chl not in words: #if not in
print("The word is not in words list!")
*
age = 12
if age = 4:
print("I like dessert and trade!")
elif age = 18: ?? #python這點不一樣哈,有個elif,可以有若干個elif語句
print("I like diplomat and dumpling!")
else:
print("I like nobility and sketch!")
result:
I like diplimat and dumpling!
*
age = 12
if age = 4:
price = 0
elif age = 18:
price = 10
else:
price = 20
print("You admission cost is $ " + str(price) +"!") #price要str函數(shù)告訴python輸出字符
**當其中一個if語句通過測試,python會跳過其他的if語句測試。
eg:尋找兩個列表共同的元素(交集)
chls = ['emperor', 'nobility', 'bakery', 'sauce', 'royal']
fsys = ['emperor', 'Spring Festival', 'approaching', 'nobility']
for chl in chls:
if chl in fsys:
? ? print("We can discover " + chl +"!")
else:
? ? print("Oh my god! The Spring Festival is approaching, prepare " + chl + "!")
result:
We can discover emperor!
Oh my god! The Spring Festival is approaching, prepare nobility!
Oh my god! The Spring Festival is approaching, prepare bakery!
Oh my god! The Spring Festival is approaching, prepare sauce!
Oh my god! The Spring Festival is approaching, prepare royal!
python 的函數(shù)參數(shù)類型分為4種:
1.位置參數(shù):調(diào)用函數(shù)時根據(jù)函數(shù)定義的參數(shù)位置來傳遞參數(shù),位置參數(shù)也可以叫做必要參數(shù),函數(shù)調(diào)用時必須要傳的參數(shù)。
當參數(shù)滿足函數(shù)必要參數(shù)傳參的條件,函數(shù)能夠正常執(zhí)行:
add(1,2) #兩個參數(shù)的順序必須一一對應,且少一個參數(shù)都不可以
當我們運行上面的程序,輸出:
當函數(shù)需要兩個必要參數(shù),但是調(diào)用函數(shù)只給了一個參數(shù)時,程序會拋出異常
add(1)
當我們運行上面的程序,輸出:
當函數(shù)需要兩個必要參數(shù),但是調(diào)用函數(shù)只給了三個參數(shù)時,程序會拋出異常
add(1,2,3)
當我們運行上面的程序,輸出
2.關鍵字參數(shù):用于函數(shù)調(diào)用,通過“鍵-值”形式加以指定??梢宰尯瘮?shù)更加清晰、容易使用,同時也清除了參數(shù)的順序需求。
add(1,2) # 這種方式傳參,必須按順序傳參:x對應1,y對應:2
add(y=2,x=1) #以關健字方式傳入?yún)?shù)(可以不按順序)
正確的調(diào)用方式
add(x=1, y=2)
add(y=2, x=1)
add(1, y=2)
以上調(diào)用方式都是允許的,能夠正常執(zhí)行
錯誤的調(diào)用方式
add(x=1, 2)
add(y=2, 1)
以上調(diào)用都會拋出SyntaxError 異常
上面例子可以看出:有位置參數(shù)時,位置參數(shù)必須在關鍵字參數(shù)的前面,但關鍵字參數(shù)之間不存在先后順序的
3.默認參數(shù):用于定義函數(shù),為參數(shù)提供默認值,調(diào)用函數(shù)時可傳可不傳該默認參數(shù)的值,所有位置參數(shù)必須出現(xiàn)在默認參數(shù)前,包括函數(shù)定義和調(diào)用,有多個默認參數(shù)時,調(diào)用的時候,既可以按順序提供默認參數(shù),也可以不按順序提供部分默認參數(shù)。當不按順序提供部分默認參數(shù)時,需要把參數(shù)名寫上
默認參數(shù)的函數(shù)定義
上面示例第一個是正確的定義位置參數(shù)的方式,第二個是錯誤的,因為位置參數(shù)在前,默認參數(shù)在后
def add1(x=1,y) 的定義會拋出如下異常
默認參數(shù)的函數(shù)調(diào)用
注意:定義默認參數(shù)默認參數(shù)最好不要定義為可變對象,容易掉坑
不可變對象:該對象所指向的內(nèi)存中的值不能被改變,int,string,float,tuple
可變對象,該對象所指向的內(nèi)存中的值可以被改變,dict,list
這里只要理解一下這個概念就行或者自行百度,后續(xù)會寫相關的專題文章講解
舉一個簡單示例
4.可變參數(shù)區(qū)別:定義函數(shù)時,有時候我們不確定調(diào)用的時候會多少個參數(shù),j就可以使用可變參數(shù)
可變參數(shù)主要有兩類:
*args: (positional argument) 允許任意數(shù)量的可選位置參數(shù)(參數(shù)),將被分配給一個元組, 參數(shù)名前帶*,args只是約定俗成的變量名,可以替換其他名稱
**kwargs:(keyword argument) 允許任意數(shù)量的可選關鍵字參數(shù),,將被分配給一個字典,參數(shù)名前帶**,kwargs只是約定俗成的變量名,可以替換其他名稱
*args 的用法
args 是用來傳遞一個非鍵值對的可變數(shù)量的參數(shù)列表給函數(shù)
語法是使用 符號的數(shù)量可變的參數(shù); 按照慣例,通常是使用arg這個單詞,args相當于一個變量名,可以自己定義的
在上面的程序中,我們使用* args作為一個可變長度參數(shù)列表傳遞給add()函數(shù)。 在函數(shù)中,我們有一個循環(huán)實現(xiàn)傳遞的參數(shù)計算和輸出結果。
還可以直接傳遞列表或者數(shù)組的方式傳遞參數(shù),以數(shù)組或者列表方式傳遞參數(shù)名前面加(*) 號
理解* * kwargs
**kwargs 允許你將不定長度的鍵值對, 作為參數(shù)傳遞給函數(shù),這些關鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict
下篇詳細講解 *args, **kwargs 的參數(shù)傳遞和使用敬請關注
在輸入條件柵格數(shù)據(jù)值小于0 的原始值將在輸出中保存為 0,輸出中保留在輸入條件柵格數(shù)據(jù)值大于 0 的原始值。
Python 中用if語句進行條件判斷;與Excel 中的if作用有些類似,具體的語句如下:
if 條件:
結果
else:
結果
下面我們來舉例進行說明:
例1:年齡=18歲,輸出“成年了”;否則輸出“未成年”
age = 16
if age = 18:
print("成年了")
else:
print("未成年")
當存在兩個以上條件時,可在if條件判斷后,增加 elif(else if 的縮寫)繼續(xù)進行分支條件判斷。
說明:分支條件判斷的結果輸出,當滿足第一個條件時既停止后續(xù)判斷并返回第一個結果;當滿足第二個條件時既停止后續(xù)判斷并返回第二個結果;以此類推,如果全部條件判斷均不滿足,則返回else的結果。
例2:年齡18歲,“未成年”; 18歲 =年齡40歲,“青年”; 40歲 =年齡60歲,“中年”;年齡=60歲,“老年”
age = 25
if age = 60:
print("老年")
elif age = 40:
print("中年")
elif age =18:
print("青年")
else:
print("未成年")
注:第二個條件中 可以直接寫 “age =40”; 無需寫成 40 =age60;因為當判斷大盤第二個條件時,已經(jīng)不滿足第一個條件、即age !=60(age 60),所以“60”部分可省略。第三個條件同理
條件分支的簡單表達:三元表達式
我們將例1(:年齡=18歲,輸出“成年了”;否則輸出“未成年”)改寫為“三元表達式”
age = 59
result ="成年" if age =18 else "未成年"
print(result)
注:僅有兩個條件判斷時,可使用三元表達式進行簡寫
例3:國籍=china ,輸出“中國人”;否則輸出“外國人”
nationality = "England"
result = "中國人" if nationality == "china" else "外國人"
print(result)
注:一個“=”代表賦值,“==”代表等于
例4:通過身份證號判斷性別(身份證號17位單號為男性,雙號為女性)
id = "2308__________2642"
result = "女" if int(id[17]) % 2 == 0 else "男"
print(result)
注:id的類型為字符串,需要通過“int()”函數(shù)將其轉換為整數(shù); ”%”代表取余數(shù),
“XX %? 2? ==0? ” 代表XX除2余數(shù)為0即偶數(shù).
map函數(shù)第一個參數(shù)是一個函數(shù)function,第二個參數(shù)是一個可迭代的對象iterable,他的功能是將可迭代對象iterable里面的每一項都應用到函數(shù)function中,然后返回一個迭代器。
可迭代器里面有多少個元素則結果就包含多少個元素
filter() 函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個參數(shù),第一個為函數(shù),第二個為序列,序列的每個元素作為參數(shù)傳遞給函數(shù)進行判斷,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。
reduce() 函數(shù)會對參數(shù)序列中元素進行累積。
函數(shù)將一個數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進行下列操作:用傳給 reduce 中的函數(shù) function(有兩個參數(shù))先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個數(shù)據(jù)用 function 函數(shù)運算,最后得到一個結果。