Python簡單易學,但又博大精深。許多人號稱精通Python,卻不會寫Pythonic的代碼,對很多常用包的使用也并不熟悉。學海無涯,我們先來了解一些Python中最基本的內容。
創(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小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
Python的特點
解釋型語言,無需編譯即可運行
提供了交互式命令行
基于對象的編程思想
跨平臺和良好的兼容性,在Windows、Mac、Linux上都可運行
簡單好用而且功能強大
01 中文編碼
很多同學在打開數(shù)據(jù)時會遇上亂碼問題,其原因是字符集的編碼問題。Linux和Mac默認的編碼集是UTF8,而Windows則是ASCII。如果數(shù)據(jù)編碼的字符集,和你使用Python進行處理時所用的字符集不同,則會出現(xiàn)亂碼問題。
另外,我個人的習慣是在Python代碼的頭部加入以下內容,其中第二行聲明了使用UTF8字符集。
#!/usr/bin/env?python#?coding:utf8
02 變量
Python中的變量可以看作是一個個容器,里面存放著我們需要使用到的值。
Python對變量名的要求和其他語言一樣:可以包括英文、數(shù)字以及下劃線,但不能以數(shù)字開頭,區(qū)分大小寫。當然我推薦,變量名用純英文就很好,并且取一些有意義的名稱,便于自己理解每個變量的作用。
Python是一門弱類型的語言,在使用變量時無需聲明其類型。Python中的變量包括以下幾類:數(shù)值、字符串、列表、元組、字典。
03 數(shù)值
數(shù)值包括整型和浮點型,分別對應整數(shù)和浮點數(shù),后者精度更高。
#?整型a?=?1#?浮點型b?=?2.1print?a,?b
04 字符串
字符串也就是我們經常接觸到的文本,可以往里面放任意長度的內容,用單引號或雙引號括起來。應當注意,中文以及中文符號只能出現(xiàn)在字符串內,如果在下面第三行中使用了中文輸入法的逗號??,Python將報錯。
c= Hello d?= 你好 print?c,?d
使用?+?可以拼接兩個字符串。
printc?+?d
使用?len()?可以得到字符串的長度。
printlen( Hello?World )
使用切片可以訪問字符串中的某個字符或某個片段。
05 列表
列表好比一條隊伍,里面依次存放著多個變量。列表和字符串類似,但字符串中的每個元素都是字符,而列表中的每個元素可以是任意類型的變量。
使用?len()?可以獲得列表的長度。
printlen(a)
列表元素的按下標訪問和賦值等操作,和字符串都是類似的。
printa[1],?a[-1]a[1]?=100printa
使用?del?刪除列表中的某個元素。
dela[0]printa
06 元組
元組和列表類似,唯一的不同是元組中的元素在初始化之后不能再更改,因此可以理解成一個只讀的變量。
#?使用()定義一個元組a?=?(1,?2.1,? Hello )#?嘗試修改元組中的元素會報錯a[0]?=?100
07 字典
字典是一種極為重要的變量類型,使用一個key來訪問相應的value,即一種鍵值對的數(shù)據(jù)形式。
#?使用{}定義一個字典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。
printdi.has_key( k4 )
如果訪問不存在的key,Python將會報錯。在賦值的時候,如果key已經存在,則會用新的value覆蓋已有的value。
08 注釋
被注釋的代碼將不會運行,可以看作是寫給自己和其他程序猿閱讀的一些筆記和說明,提高代碼可讀性。
#?這里是單行注釋? 這里是很多行注釋
在Sublime中,選中需要注釋的內容,按Ctrl+/即可完成注釋。
09 保留字符
在Python中,有一些字符串具有某些特定功能,如?import?、?class?等。我們在選擇變量名時,應注意避開這些保留字符。
#?以下變量賦值將報錯import?=?1
10 行和縮進
在Python中,代碼塊的邊界不是通過大括號等符號進行顯式劃分,而是通過行的縮進實現(xiàn)的。連續(xù)相同縮進水平的代碼處于同一個代碼塊,在使用?for?、?while?、?if?、?try?等語法時需要注意每行代碼的縮進。
11 運算符
運算符的作用是根據(jù)已有的變量生成新的變量,主要有以下幾種:
算術運算符:+,-,*,/,%,即加、減、乘、除、取余
比較運算符:==,!=,>,<,>=,<=,即等于、不等于、大于、小于、大于等于、小于等于
賦值運算符:=,+=,-=,*=,/=,%=,即賦值、加賦值、減賦值、乘賦值、除賦值、取余賦值
邏輯運算符:and,or,not,即與、或、非
a?=?1b?=?2print?a?+?bprint?a?==?b#?等價于?a?=?a?+?3a?+=?3print?ac?=?Trued?=?Falseprint?c?and?d
12 條件
在寫代碼的時候,往往需要根據(jù)某些條件進行判斷,并根據(jù)判斷結果執(zhí)行不同的分支代碼。
需要注意的是,但凡出現(xiàn)了?if?和?elif?,就需要加上相應的條件判斷,并且注意代碼的縮進。在Sublime中輸入?if?會出現(xiàn)相應的提示,可以方便地補全代碼,在換行時光標也會自動跳到合適的縮進處。
13 循環(huán)
如果需要打印從1到100的100個數(shù),肯定不會傻傻地寫100行print代碼,而是會用循環(huán)來處理類似的重復性工作。
14 while 循環(huán)
while?循環(huán)的思想是,只要某一條件成立,就不斷執(zhí)行循環(huán)體里的代碼,直到條件不再成立。
15 for 循環(huán)
for?循環(huán)的循環(huán)次數(shù)一般是事先預知的,將一個標志變量從某個起始值迭代到某個終止值后即結束。
#?x從0開始,一直到9結束for?x?in?xrange(0,?10):????print?x
可以用?for?循環(huán)方便地遍歷列表和字典。
16 循環(huán)控制
循環(huán)控制主要包括三種:?pass?、?continue?、?break?。
pass?表示什么也不做,只是占一行代碼的位置;continue?表示立即退出本輪循環(huán),繼續(xù)執(zhí)行后續(xù)輪循環(huán);break?表示立即推出循環(huán),后續(xù)循環(huán)也不再執(zhí)行。
17 時間
在處理數(shù)據(jù)時,很多地方都會涉及到時間,例如數(shù)據(jù)產生的時間。先介紹一下時間戳的概念,時間戳指的是從1970年1月1日0時0分0秒開始,到某一時刻所經歷的秒數(shù),可以是整數(shù)或者小數(shù),后者的精度更高。
為什么需要時間戳這樣的一個概念?因為對于同一個時刻,不同人的描述可能不同,畢竟文本的形式千變萬化,而時間戳使得時間的表達得到了統(tǒng)一,每個時刻只能用唯一的整數(shù)或浮點數(shù)來表示,同時也便于計算時間差這樣的處理。
#?來看一下當前時刻的時間戳吧import?timet?=time.time()printt,type(t)
關于時間戳,最常用的處理便是時間戳和時間文本之間的轉換,例如將?2016年10月1日?10時0分0秒?轉為時間戳。
其中,?%Y?、?%m?等都是時間字段,前者表示四位的年份,后者表示兩位的月份。
文件
文件操作包括向文件中寫內容,以及從文件中讀內容,使用?open()?打開一個文件。
18 異常
Python代碼中可能會出現(xiàn)一些可以預知的問題,例如字典訪問的key不存在。
如果不加處理,發(fā)生問題的時候Python便會報錯并退出,可能之前跑了很久又要重頭再來。因此,我們需要
19 函數(shù)
函數(shù)的作用是代碼模塊化,將可重用的代碼封裝成一個函數(shù),這樣在需要使用的時候就只需調用寫好的函數(shù)即可,而不用重新寫一遍代碼。
函數(shù)的使用包括兩個部分,函數(shù)的定義和函數(shù)的調用。除此之外,函數(shù)可以有一個或多個參數(shù),參數(shù)之間以逗號分開,為函數(shù)的功能提供更多的靈活性。