close

掌握Python教學有一套!19個語法報你災!

聽說在Python教學中掌握這19個語法是關鍵哦!

 

很多人聽說Python程式簡單易學,前景好薪酬高,所以就想快點入門Python程式,有方法嗎?有套路嗎?當然有,不過要快速入門Python程式,我覺得這19個語法是第一站!

Python的特點

解釋型語言,無需編譯即可運行

提供了交互式命令行

基於對象的程式思想

跨平台和良好的兼容性,在WindowsMacLinux上都可運行

簡單好用而且功能強大

01中文編碼

很多同學在打開數據時會遇上亂碼問題,其原因是字符集的編碼問題。 LinuxMac默認的編碼集是UTF8,而Windows則是ASCII。如果數據編碼的字符集,和你使用Python進行處理時所用的字符集不同,則會出現亂碼問題。

另外,我個人的習慣是在Python代碼的頭部加入以下內容,其中第二行聲明了使用UTF8字符集。

#!/usr/bin/env python# coding:utf8

02變量

Python中的變量可以看作是一個個容器,裡面存放著我們需要使用到的值。

Python對變量名的要求和其他語言一樣:可以包括英文、數字以及下劃線,但不能以數字開頭,區分大小寫。當然我推薦,變量名用純英文就很好,並且取一些有意義的名稱,便於自己理解每個變量的作用。

說實話,Python教學算是一門弱類型的語言,在使用變量時無需聲明其類型。 Python中的變量包括以下幾類:數值、字符串、列表、元組、字典。

03數值

數值包括整型和浮點型,分別對應整數和浮點數,後者精度更高。

#整型a = 1#浮點型b = 2.1print a, b

04字符串

字符串也就是我們經常接觸到的文本,可以往裡面放任意長度的內容,用單引號或雙引號括起來。應當注意,中文以及中文符號只能出現在字符串內,如果在下面第三行中使用了中文輸入法的逗號,Python將報錯。

c = Hello d =你好print c, d

使用+可以拼接兩個字符串。

print c + d

使用len()可以得到字符串的長度。

print len( Hello World )

使用切片可以訪問字符串中的某個字符或某個片段。

#位置下標從0開始c = Hello World #打印結果為H,下標為0表示第一個字符print c[0]

#打印結果為d,下標為負數表示從後往前數#所以- 1表示倒數第一個字符print c[-1]

#使用:返回一個片段,冒號前後分別為開始下標和結束下標#包括開始下標,但不包括結束下標

#因此c[1:5 ]表示,返回下標從14的片段,即第二個到第五個字符print c[1:5]

#冒號前後的下標同樣可以使用負數

#或者不提供,表示從最左端開始或一直到最右端print c[1:-1], c[:5], c[3:]

05列表

列表好比一條隊伍,裡面依次存放著多個變量。列表和字符串類似,但字符串中的每個元素都是字符,而列表中的每個元素可以是任意類型的變量。

#使用[]定義一個空列表,使用append()向列表尾部添加一個元素

#如果要添加到首部,就用prepend()好了a = []a.append(1)a.append(2.1)a .append( Hello )print a

使用len()可以獲得列表的長度。

print len(a)

列表元素的按下標訪問和賦值等操作,和字符串都是類似的。

print a[1], a[-1]a[1] = 100print a

使用del刪除列表中的某個元素。

del a[0]print a

06元組

元組和列表類似,唯一的不同是元組中的元素在初始化之後不能再更改,因此可以理解成一個只讀的變量。

#使用()定義一個元組a = (1, 2.1, Hello )#嘗試修改元組中的元素會報錯a[0] = 100

07字典

字典是一種極為重要的變量類型,使用一個key來訪問相應的value,即一種鍵值對的數據形式。

#使用{}定義一個字典a = {}#使用key來賦值valuea[ k1 ] = 1a[ k2 ] = 2.1a[ k3 ] = Hello

所以能夠總結出字典和列表的不同。列表中的元素是有序對等的,所以是用下標來賦值和訪問,而字典中的元素是無序的,所以是用key來操作相應value

#也可以在定義字典和列表的同時進行賦值li = [1, 2.1, Hello ]di = { k1 : 1, k2 : 2.1, k3 : Hello }

使用has_key()判斷字典中是否有某個key

print di.has_key( k4 )

如果訪問不存在的keyPython將會報錯。在賦值的時候,如果key已經存在,則會用新的value覆蓋已有的value

08註釋

被註釋的代碼是不會運行,可以看作是寫給自己和其他程序猿閱讀的一些筆記和說明,藉此提高代碼可讀性。

#這裡是單行註釋這裡是很多行註釋

Sublime中,選中需要註釋的內容,按Ctrl+/即可完成註釋。

09保留字符

Python中,其實有一些字符串具有某些特定功能,如import class等。我們在選擇變量名時,應注意避開這些保留字符。

#以下變量賦值將報錯import = 1

10行和縮進

Python中,代碼塊的邊界不是通過大括號等符號進行顯式劃分,而是通過行的縮進實現的。連續相同縮進水平的代碼處於同一個代碼塊,在使用for while if try等語法時需要注意每行代碼的縮進。

11運算符

運算符的作用是根據已有的變量生成新的變量,主要有以下幾種:

算術運算符:+-*/%,即加、減、乘、除、取餘

比較運算符:==!=><>=<=,即等於、不等於、大於、小於、大於等於、小於等於

賦值運算符:=+=-=*=/ =%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取餘賦值

邏輯運算符:andornot,即與、或、非

a = 1b = 2print a + bprint a == b#等價於a = a + 3a += 3print ac = Trued = Falseprint c and d

12條件在寫代碼的時候,往往需要根據某些條件進行判斷,並根據判斷結果執行不同的分支代碼。

a = 1#單個條件if a == 1: print 11111#處理條件不成立的分支if 

a == 2: print 22222else: print 33333#多個條件,加多少個都可以if 

a == 1: print 11111elif a == 2: print 22222else: print 33333

需要注意的是,但凡出現了ifelif ,就需要加上相應的條件判斷,並且注意代碼的縮進。在Sublime中輸入if會出現相應的提示,可以方便地補全代碼,在換行時光標也會自動跳到合適的縮進處。

13循環

如果需要打印從1100100個數,肯定不會傻傻地寫100print代碼,而是會用循環來處理類似的重複性工作。

14 while循環

while循環的思想是,只要某一條件成立,就不斷執行循環體裡的代碼,直到條件不再成立。

flag = 1while flag < 10: print flag    

#一定要記得在循環體裡修改條件變量    

#否則可能導致死循環flag += 1

15 for循環

for循環的循環次數一般是事先預知的,將一個標誌變量從某個起始值迭代到某個終止值後即結束。

# x0開始,一直到9結束for x in xrange(0, 10): print x

可以用for循環方便地遍歷列表和字典。

li = [1, 2.1, Hello ]dict = { k1 : 1, k2 : 2.1, k3 : Hello }

#遍歷列表,這裡的item只是一個臨時變量,取別的名稱也行for item in li: print item

#遍歷字典的全部key,這裡的key也只是一個臨時變量,名稱不重要for key in dict.keys(): print key

#遍歷字典的全部value,這裡的value也只是一個臨時變量,名稱不重要for value in dict.values(): print value#同時遍歷keyvaluefor key, value in dict.items(): print key, value

16循環控制

循環控制主要包括三種: pass continue break

pass表示什麼也不做,只是佔一行代碼的位置;continue表示立即退出本輪循環,繼續執行後續輪循環;break表示立即推出循環,後續循環也不再執行。

for x in xrange(0, 10): if x == 5: pass else: print xfor x in xrange(0, 10): if x == 5: continue print xfor x in xrange(0, 10): if x == 5: break print x

17時間

在處理數據時,很多地方都會涉及到時間,例如數據產生的時間。先介紹一下時間戳的概念,時間戳指的是從197011000秒開始,到某一時刻所經歷的秒數,可以是整數或者小數,後者的精度更高。

為什麼需要時間戳這樣的一個概念?因為對於同一個時刻,不同人的描述可能不同,畢竟文本的形式千變萬化,而時間戳使得時間的表達得到了統一,每個時刻只能用唯一的整數或浮點數來表示,同時也便於計算時間差這樣的處理。

#來看一下當前時刻的時間戳吧import timet = time.time()print t, type(t)

關於時間戳,最常用的處理便是時間戳和時間文本之間的轉換,例如將20161011000秒轉為時間戳。

import time#時間文本轉時間戳,精確到秒a = 2016-10-01 10:00:00 a = int(time.mktime(time.strptime(a, %Y-%m-%d %H:% M:%S )))print a#時間戳轉時間文本b = int(time.time())b = time.strftime( %Y-%m-%d %H:%M:%S , time.localtime (b))print b

其中, %Y %m等都是時間字段,前者表示四位的年份,後者表示兩位的月份。

文件

文件操作包括向文件中寫內容,以及從文件中讀內容,使用open()打開一個文件。

#寫文件#重新寫模式,打開文件時會將文件內容清空fw = open( data.txt , w )#追加寫模式,打開文件後保留原始內容,繼續寫入for x in xrange(0, 10) : #將整數轉成文本再寫入fw.write(str(x)) #也可以每次寫入之後換行,

為轉義字符,表示換行# fw.write(str(x) +  

 )fw.close ()#讀文件fr = open( data.txt , r )#一行一行地讀,line只是個臨時變量,取別的名稱也行for line in fr: print line #如果每行後面有換行,可以將換行符去掉,使內容更緊湊# strip()可以去掉字符串兩端的空白字符# print line.strip()fr.close()

18異常Python代碼中可能會出現一些可以預知的問題。

例如字典訪問的key不存在。如果不加處理,發生問題的時候Python便會報錯並退出,可能之前跑了很久又要重頭再來。因此,我們需要對可能出現的異常進行捕捉和處理。異常的結構由try except else finally四部分組成。

try: #嘗試執行這些代碼print 1 / 0except Exception, e: #如果出現異常就進行處理# e為出現的異常類型print eelse: # try裡的代碼沒有出錯#可以執行後續工作了print沒有出錯finally: #無論是否出錯,都會執行的代碼print一定會執行

19函數

函數的作用是代碼模塊化,將可以重用的代碼封裝成一個函數,這樣在需要使用的時候就只需調用寫好的函數即可,而不用再重新寫一遍代碼。

函數的使用包括兩個部分,函數的定義和函數的調用。除此之外,函數可以有一個或多個參數,參數之間以逗號分開,為函數的功能提供更多的靈活性。

#定義函數def hello(name1, name2): print Hello + name1 + + name2#調用函數hello( Python ,  JavaScript )

感謝您的閱讀,以上就是為您分享的如何快入門Python教學程式的第一站——19個語法,你學會了嗎?更多Python相關的內容盡在達內Python培訓機構官網,敬請關注!

免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

 

 

 

推薦閱讀:
汽車的人工智慧革命開始!AI 如何引發各家汽車廠牌的技術革新?


SEM 關鍵字廣告課程讓高三生提早就定位 開始接案賺錢!


擺脫設備工程師血汗職涯, 零基礎的我成功轉職 Python 資料工程師


44歲媽咪順利轉職網頁設計師, 家庭事業都得意


AI 甩尾技術勝 Ken Block!方程式冠軍車手嘆:要失業了


學會Python只能當工程師?你還有更好的選擇..


事半功倍?搞定Excel背後神隊友竟是Python?!


不想被人工智慧時代淘汰!!Python是你必會的語言!!(上)

 

arrow
arrow
    文章標籤
    Python Python教學 Python入門
    全站熱搜
    創作者介紹
    創作者 jimchen19901212 的頭像
    jimchen19901212

    嫩嫩的程式學習紀錄 - Jim

    jimchen19901212 發表在 痞客邦 留言(0) 人氣()