Python30分鐘入門語法(與Java對比)

定義變量:

java:  
int a = 1; 
python:      
a = 1     #python中不需要分號結(jié)尾,python用縮進(jìn)判斷代碼塊

Python定義變量的時候不需要給出類型障陶,直接定義即可噪馏,Python會自動判斷變量類型券勺。
String類型:

java:
String a  = new String();
a = "123";
python:
a="123"     #python中單引號雙引號不區(qū)分

Python中if語句bool表達(dá)式的運算符

java:     &&    ||    取反 ! true
python:   and   or    取反 not true
if a > 0 && a < 10 && !a == 5{}
if a > 0 and a < 10 and not a == 5:

Pyhthon中的除法

'/' 保留小數(shù)的除法
'//' 舍去小數(shù)的除法

數(shù)組定義

java:
String[] a = new String[5];
python:
c=[1,2,3,4]
d=[123,"3",c]  #python中數(shù)組接受任意類型,并且各個類型都嫩惡搞互相轉(zhuǎn)換

Python中對數(shù)組的切片

一般數(shù)字?jǐn)?shù)組
a[x:y:z] #x表示起始點蚕苇,y終止點(不包含),z步長

a = [1,2,3,4,5]
print(a[1:-1])     #打印出數(shù)組a下標(biāo)從1到-1(不包含)的數(shù)字

結(jié)果是
[2,3,4]

字符串?dāng)?shù)組

b ="12345"
print(b[1:-1])      #結(jié)果是'234'
 
print(int(b))        #將數(shù)組強制轉(zhuǎn)換成int數(shù)組(必須字符串?dāng)?shù)組中全為數(shù)字)

利用切片倒序數(shù)組
a=[1,2,3,4,5]
a[::-1] [5,4,3,2,1]
省略前面兩個參數(shù)检眯,表示對整個數(shù)組厘擂,步數(shù)-1 從后往前
a[4:0:-1] [5,4,3,2]
完整的寫完區(qū)間,但是會發(fā)現(xiàn)無法將一個數(shù)字倒序锰瘸,因為切片不包含結(jié)束點

發(fā)現(xiàn)

但當(dāng)你的起始或者終止點超過數(shù)組長度刽严,就返回最大能返回的
a[4:-6:-1]
a[5:-9:-1]
上面兩個都是一樣的,因為第一個是結(jié)束點超出數(shù)組范圍
第二個是起始點和結(jié)束點都超過
記住 -1表示倒數(shù)第一個小標(biāo)避凝,所以你不能寫成
a[4:-1:-1] 這個表示起始終止點都是最后最后一個舞萄,所以返回空

循環(huán)語法

for循環(huán)

java:
for (int i=0; i<9; i++){
    System.out.println(i);
}
python:
for i in range(0,9):        #range()函數(shù),不包含右邊
    print(i)                         

#會發(fā)現(xiàn)在java用‘{’的地方管削,python使用‘:’表示
#比如if倒脓,class,for佩谣,while把还,定義函數(shù)時等等

相比之下會發(fā)現(xiàn)实蓬,python的語法更加接近我們英語語法茸俭,for i 對于每個i 在0-9(不包含9)中。

while循環(huán)

java:
while(int i < 9){
    System.out.print(i);
    i--;
}
python:
while i>0 :
    print(i)
    i = i-1    #注意python中沒有自加自減

函數(shù)定義

現(xiàn)在我們定義一個filter函數(shù)安皱,只保留數(shù)組中的偶數(shù)

a = [1,2,3,4,5,6,7,8,9]
def filter(l):        #def表示定義函數(shù)
    x=[]
    for i in range(0,len(l)):     #len函數(shù)獲取數(shù)組長度
        if l[i]%2 == 0:
            x.append(l[i])         #.append往數(shù)組中加元素
    return x

然后比較魔性的寫法

def filter(l):
    return [x for x in l if x%2 == 0]

遞歸函數(shù)

定義一個函數(shù)求出一個數(shù)字的階乘

def fn(n):
    if n == 1:
        return 1
    else:
        return n*fn(n-1)

Python中的class概念

class Person:
    def __init__(self, name):
        self.name = name
    def getName(self):
        return self.name

上面這段代碼表示class Person的構(gòu)造函數(shù)调鬓,使用這個類,必須傳入一個name的參數(shù)酌伊,然后里面還定義了一個getName()函數(shù)腾窝,得到這個類的name參數(shù)值

a = Person("abc")    #新定義一個變量名為a的Person類,里面的name值為abc
a.asd = 123          #與java不同的是居砖,可以隨時忘類中加入新的參數(shù)和值
print(a.name, a.asd)

改寫Python的原有函數(shù)

Python可以將print這類基礎(chǔ)函數(shù)改寫虹脯,但是java做不到

oldPrint = print

def myprint(x):
    oldPrint(":::", x)
print = myprint

print("ashdhabsd")  #結(jié)果::::ashdhabsd
print(345)          #結(jié)果::::345

Map函數(shù)

map(函數(shù)名,數(shù)組)
比如我有一個power平方函數(shù)和int數(shù)組a[1,2,3]
a=list(map(power,a))
[1,4,9] 注意這里用map必須在前面加list轉(zhuǎn)換奏候,否則顯示的不是數(shù)組

Lambda函數(shù)

Lanbda可以免去在外面定義函數(shù)循集,一些簡單只需要用一次的函數(shù)可以直接寫在表達(dá)式中

a = [1,2,3,4,5]
a = map(lambda x: x**2, a)
a = list(a)
print(a)

Python中的字典{} (HashMap)

a{ key1 : value1 , key2 : value2 } 一個key對應(yīng)一個value

a = {"name":"abc","age":17}
a ['sex']='male'  #為字典中加入新的元素

判斷key或者value是否在字典中

"name" in a         #ture
"abc" in a          #false   in a 默認(rèn)是keys的集合
"abc" in a.values() #ture

不僅僅只是字典,其他字符串也可以同樣操作

a = "hello 12 3 abc"
"abc" in a         #true
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔗草,一起剝皮案震驚了整個濱河市咒彤,隨后出現(xiàn)的幾起案子疆柔,更是在濱河造成了極大的恐慌,老刑警劉巖镶柱,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旷档,死亡現(xiàn)場離奇詭異,居然都是意外死亡歇拆,警方通過查閱死者的電腦和手機鞋屈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來故觅,“玉大人谐区,你說我怎么就攤上這事÷呗簦” “怎么了宋列?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長评也。 經(jīng)常有香客問我炼杖,道長,這世上最難降的妖魔是什么盗迟? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任坤邪,我火速辦了婚禮,結(jié)果婚禮上罚缕,老公的妹妹穿的比我還像新娘艇纺。我一直安慰自己,他們只是感情好邮弹,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布黔衡。 她就那樣靜靜地躺著,像睡著了一般腌乡。 火紅的嫁衣襯著肌膚如雪盟劫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天与纽,我揣著相機與錄音侣签,去河邊找鬼。 笑死急迂,一個胖子當(dāng)著我的面吹牛影所,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播僚碎,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼猴娩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起胀溺,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤裂七,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后仓坞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體背零,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年无埃,在試婚紗的時候發(fā)現(xiàn)自己被綠了徙瓶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嫉称,死狀恐怖侦镇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情织阅,我是刑警寧澤壳繁,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站荔棉,受9級特大地震影響闹炉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜润樱,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一渣触、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壹若,春花似錦嗅钻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至壁查,卻和暖如春觉至,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背睡腿。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留峻贮,地道東北人席怪。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像纤控,于是被迫代替她去往敵國和親挂捻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容