十分鐘看懂python3語言特性

十分鐘看懂python3語言特性

看了王垠的《如何掌握所有程序語言》味混,感觸甚深挫以。如果說程序語言有其通用規(guī)律的話眼姐,那就是語言特性诅迷,也就是這些語言的通用概念。這些概念的具體語法的形式可能都不一樣众旗,但是所內(nèi)涵的功能是一致的罢杉,比如英語中的bird和漢語中,其實指的都是同一種事物贡歧,關(guān)鍵是它們怎么運作的滩租,而不是它們的形式是什么。

掌握語言特性利朵,一開始要掌握最基本律想、最簡單的概念和用法,然后由簡單到復(fù)雜绍弟。不是讓你從頭到尾的學(xué)技即,而是先掌握框架,再逐漸豐富樟遣。

下面而叼,嘗試寫出python的語言特性身笤。

一、字符串和數(shù)

1.字符串

所有在單引號‘ ’葵陵、雙引號“ ”液荸、三引號‘’‘ ’‘’“”“ ”“”里面的單詞、句子和數(shù)字等都是字符串埃难。其中三個引號可以換行莹弊。

‘good’

'''123
456'''

2.數(shù)字

數(shù)字不用加引號,包括整數(shù)涡尘,浮點數(shù)(帶小數(shù)點的數(shù)和科學(xué)計數(shù)法的數(shù))和復(fù)數(shù)忍弛。

1

3.14156

10E-10

(1+2j)

二、變量

字符串考抄、數(shù)细疚、函數(shù)、數(shù)據(jù)結(jié)構(gòu)川梅、類疯兼、類的屬性等對象通過 = 賦值給變量。

a=55

b='good'

c=[1, 2, 3]

變量分為公共變量贫途,特殊變量和私有變量.

1.公共變量吧彪。名稱前后不帶_,可以正常使用丢早。

2.特殊變量姨裸。名稱前后帶_,一般在Python里有特殊用途怨酝,如

_main_

_name_

3.私有變量傀缩。名稱前帶_,不應(yīng)該被直接引用农猬。

三赡艰、算術(shù)運算

1.加減乘除,大于小于等于斤葱,變成二進(jìn)制位移慷垮,以及二進(jìn)制求同求異。

2.優(yōu)先級跟數(shù)學(xué)算術(shù)一樣揍堕。

3.字符串也可以進(jìn)行算數(shù)運算

'abc'*3

四料身、數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu),Data Structures鹤啡,就是儲存數(shù)據(jù)的容器。數(shù)據(jù)包括字符串和數(shù)等對象蹲嚣。

四種數(shù)據(jù)結(jié)構(gòu):

1.列表[list]递瑰,可以增刪修改祟牲。

2.元組(tuple),不能修改抖部。

3.字典说贝,dict,格式如{key:value}慎颗,可以增刪修改乡恕。

4.集合,{set }俯萎,儲存key傲宜,不儲存value,可以增刪夫啊。

五函卒、控制結(jié)構(gòu)

1.if

如果...那么。

if ... :
   代碼塊
elif ...:
   代碼塊
else:
   代碼塊

2.while

如果是TRUE撇眯,那么執(zhí)行下面代碼报嵌。

while True:
    代碼塊

3.for

for ....in 循環(huán),可迭代出(就是一個個取出)列表熊榛、元組锚国、字典和字符串等對象里的元素。

for n in [1,2,3]:
    print(n)

4.break和continue

break和continue用在 if玄坦,while和for里面血筑。

break是停止所有循環(huán),continue是停止執(zhí)行本次循環(huán)中continue下面的語句营搅,繼續(xù)執(zhí)行下個循環(huán)云挟。

六、函數(shù)定義

python有內(nèi)置函數(shù)和自定義函數(shù)转质。內(nèi)置函數(shù)是python定義好的园欣,知道名稱就可以直接使用,自定義函數(shù)就是用def去定義休蟹。

1.定義一個函數(shù)沸枯,def

def 函數(shù)名(參數(shù)):
    代碼塊
    return ...
  1. 參數(shù)類別

    參數(shù)共有五種

def 函數(shù)名(位置參數(shù),默認(rèn)參數(shù)赂弓,*可變參數(shù)绑榴,**關(guān)鍵字參數(shù),命名關(guān)鍵字參數(shù)):
    代碼塊
    return 

(1)位置參數(shù)

放在函數(shù)名稱的( )里盈魁,且不帶*翔怎,也不在 *參數(shù) 后的參數(shù)。

舉例

def add(x):
    return x*x  

這個x就是位置參數(shù)

(2)默認(rèn)參數(shù)

在函數(shù)名稱后面的( )里,給參數(shù)賦值的參數(shù)赤套。

舉例

def add(n,k=2):
    reutrn n+k

add(4)  #只需要給n賦值即可

這里面的k就是默認(rèn)參數(shù)飘痛。

(3)可變參數(shù)

可變參數(shù),是指傳入?yún)?shù)的個數(shù)可以變化容握,從0到任意個參數(shù)宣脉,均可。

形式為

def  函數(shù)名稱(*可變參數(shù)):
    代碼塊

舉例

def calc(*n):
    sun=0
    for x in n:
        sum=sum+x
    return sum

calc(1,2)

num=[1,2,3]  #如果傳入的是個列表剔氏,則在列表名稱前面加上*
calc(*num)

num=(1,2,3)#如果傳入的是個元組塑猖,則在元組名稱前面加上*
calc(*num)

(4)關(guān)鍵字參數(shù)

關(guān)鍵字參數(shù),是指參數(shù)名稱的個數(shù)谈跛,可變化羊苟,可以放一個參數(shù)名稱到任意個參數(shù)名稱。這些參數(shù)名稱會自動組成一個字典币旧。

形式為

def 函數(shù)名稱(**關(guān)鍵字參數(shù)):
    代碼塊

舉例

def add(**kw):
    print(kw)

add(num1=1,num2=2)  #必須寫成  參數(shù)名稱=對象 的形式践险。

#結(jié)果顯示如下
{'num1':1,'num2'=2}

(5)命名關(guān)鍵字參數(shù)

命名關(guān)鍵字參數(shù)限制關(guān)鍵字參數(shù)名稱的個數(shù)。有兩種形式

  • 一種是在*后面的參數(shù)
def add(*,命名關(guān)鍵字參數(shù)名稱1吹菱,命名關(guān)鍵字參數(shù)名稱2)

舉例如下:

def add(*,flower,tree):
    print(flower,tree)

add(flower='rose',tree='apple')

#結(jié)果顯示
rose apple
  • 一種是在 *可變參數(shù) 后面的參數(shù)
def add(*可變參數(shù)巍虫,命名關(guān)鍵字參數(shù))

舉例如下:

def add(*person,flower,tree):
    print(person,flower,tree)

country=['China','America']
add(*country,flower='rose',tree='apple')

#結(jié)果顯示如下
('China', 'America') rose apple

七、函數(shù)調(diào)用

函數(shù)調(diào)用格式如下

(1)變量=函數(shù)名稱(參數(shù) )

a=abs(-5) #abs是求絕對值的內(nèi)置函數(shù)鳍刷。

(2)變量=函數(shù)名稱

? 變量(參數(shù))

a=abs
a(-5)

八占遥、遞歸

遞歸就是函數(shù)的套用。就是函數(shù)里套用一個函數(shù)输瓜。

使用方法:

def 函數(shù)(參數(shù)):

? 代碼塊

? return 函數(shù)(參數(shù))

舉例瓦胎,求1+2+3+...+(n-1)+n的和

def fact(n):
    if n==1:
        return 1
    return n*fact(n-1)  

九、類型推導(dǎo)

1.推導(dǎo)式

推導(dǎo)式尤揣,英文名稱Comprehensions搔啊,又稱生成式。類型有三種北戏,列表推導(dǎo)式负芋,字典推導(dǎo)式和集合推導(dǎo)式,三種方式的語法結(jié)構(gòu)都差不多嗜愈。

[關(guān)于n的表達(dá)式 for n in collection if 條件]

舉例如下

[x+x for x in range(1,10)]
[n+n for n in range(1,20) if n%2==1]
{ key_expr: value_expr for value in collection if condition }
{ expr for value in collection if condition }

2.生成器

生成器旧蛾,generator∪浼蓿可以實現(xiàn)一邊循環(huán)一遍計算锨天,一次生成一個數(shù)。

生成器有兩種語法結(jié)構(gòu)

(1)把列表生成式的[ ] 改成( )即可

舉例

g=(x+x for x in range(10))

next(g) #可以不斷成數(shù)字

for n in g: #可以全部打出來
    print(n)

(2)把函數(shù)里的print 改成 yield即可剃毒。

舉例

def add(n):
    yield n

next(add(5))

十病袄、lambda函數(shù)

lambda搂赋,又稱匿名函數(shù)。語法結(jié)構(gòu)為:

lambda x:表達(dá)式

舉例如下

a=lambda x:x*x
a(5)

十一益缠、面向?qū)ο蟆猚lass

類厂镇,即class,語法形式為

class 類名稱(父類名稱): #如果沒有父類名稱左刽,就寫object
    pass

參考:

1.Python中的推導(dǎo)式使用詳解

2.廖雪峰的Python教程

3.Python官方指導(dǎo)手冊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市酌媒,隨后出現(xiàn)的幾起案子欠痴,更是在濱河造成了極大的恐慌,老刑警劉巖秒咨,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喇辽,死亡現(xiàn)場離奇詭異,居然都是意外死亡雨席,警方通過查閱死者的電腦和手機(jī)菩咨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來陡厘,“玉大人抽米,你說我怎么就攤上這事〔谥茫” “怎么了云茸?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谤饭。 經(jīng)常有香客問我标捺,道長,這世上最難降的妖魔是什么揉抵? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任亡容,我火速辦了婚禮,結(jié)果婚禮上冤今,老公的妹妹穿的比我還像新娘闺兢。我一直安慰自己,他們只是感情好辟汰,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布列敲。 她就那樣靜靜地躺著,像睡著了一般帖汞。 火紅的嫁衣襯著肌膚如雪戴而。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天翩蘸,我揣著相機(jī)與錄音所意,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛扶踊,可吹牛的內(nèi)容都是我干的泄鹏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秧耗,長吁一口氣:“原來是場噩夢啊……” “哼备籽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起分井,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤车猬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尺锚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體珠闰,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年瘫辩,在試婚紗的時候發(fā)現(xiàn)自己被綠了伏嗜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡伐厌,死狀恐怖承绸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挣轨,我是刑警寧澤八酒,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站刃唐,受9級特大地震影響羞迷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜画饥,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一衔瓮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抖甘,春花似錦热鞍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至艰额,卻和暖如春澄港,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柄沮。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工回梧, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留废岂,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓狱意,卻偏偏與公主長得像湖苞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子详囤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

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