Python的語法基礎你真的瞭解嗎
Python語法基礎
01-Python快速入門
U1-定義變量
直接定義 不用指明變量類型
e.g:
a=10
U2-判斷語句
#coding=utf-8 if s>=80: print("優") elif s>=60: print("良") else: print("差")
必須要有縮進!!
有中文要強調下utf-8
U3-循環
for i in range(0,100): print(i) for i in range(0,100): print("Item {0}".format(i)) print("Item {0},{1}".format(i,"Hello Python"))
U4-定義函數
def sayHello(): print("Hello World") def max(a,b): if a>b: return a else: return b sayHello() print(max(2,3))
U5-面向對象
class Hello:
def sayHello(self): print("Hello Python") h = Hello() h.sayHello()
class Hello:
def _init_(self,name): self._name = name def sayHello(self): print("Hello {0}".format(self._name))
#繼承Hello類,要執行父類的構造方法
class Hi(Hello):
def _init_(self,name): Hello._init_(self,name) def sayHi(self): print("Hi {0}".format(self._name)) h = Hello("tan") h.sayHello() h1 = Hi("ther") h1.sayHi()
U6-引入python文件
1)mylib.py:
class Hello: def sayHello(self): print("Hello Python")
2)loadlib.py:
import mylib h = mylib.Hello() h.sayHello() from mylib import Hello h = Hell0() h.sayHello()
02-python的三大優點、七大特色
U1-三大優點:
簡單、功能強大、支持面向對象
U2-七大特色:
大小寫嚴格區分
簡單、易學、支持面向對象
開源
庫非常豐富
跨平臺使用
解釋性語言
高級語言
03-python語法基礎
U1:Python常量與變量
常量:在程序運行的時候不會被更改的量,一旦綁定,就不能更改
Python中定義常量需要用對象的方法來創建
const.py(要放在lib文件下,lib主要放些模塊化的東西):
#class _const(object): class ConstError(TypeError): pass def __setatter__(self, name, value): if self.__dict__.has_key(name): raise self.ConstError, "Can't rebind const(%s)" % name self.__dict__[name] = value def __delattr__(self, name): if name in self.__dict__: raise self.ConstError, "Can't unbind const(%s)" %name raise NameError, name import sys sys.modules[__name__] = _const() #changliang.py: import const const.value=5 print const.value const.value=6
變量:在程序運行時可以隨著程序的運行更改的量,即使賦值,也可以更改
i = 7 print i i = 7 print i i += 1 print i i += 2 print i
U2:Python數與字符串
5種數: int 整數型 long 長整數型,e.g: 878123l float 浮點型,e.g: 1.71235 bool 佈爾型,e.g: True、False complex 復數型,e.g: 3+5j、2-7j 字符串:用引號引起來的字符集 引號的使用與區別: 單引號裡面可以使用雙引號,並且可以輸出出來 雙引號裡面不能使用雙引號,但是其裡面可以使用單引號,並且可以輸出出來 三引號(三個單引號或者三個雙引號),三引號引起來的內容可以換行 轉義符 \: 不會解析單引號裡面的單引號或者雙引號裡面的雙引號 e.g: print 'It\'s a dog!' \n: 轉行 e.g: print "hello tan\nhello tan" 自然字符串: 在python裡面,如果我們的一串字符串即使有轉義符,也需要將他原樣保留,不進行任何處理,我們可以使用自然字符串,就在字符串前面加上r e.g: #自然字符串 print "hello tan\nhello tan" print r"hello tan\nhello tan" 輸出: hello tan hello tan hello tan\nhello tan 字符串的重復: 如果要將一個字符串重復的輸出,可以使用字符串的重復運算符,例如將hi重復輸出7次,可以使用"hi"*7 print "Hello World\n"*7 子字符串: 想取一個字符串中的子字符串出來,就要進行子字符串運算,子字符串的運算方法主要有兩種:1.索引運算法[] 2.切片運算法[:] #子字符串 #索引運算符從0開始索引 #切片運算符[a:b]是指從第a下標開始到第b-1下標。同樣,從0開始索引 s1 = "helloworld" s2 = s1[0] s3 = s1[7] s4 = s1[:7] s5 = s1[7:] s6 = s1[3:7] print s6
U3:Python數據類型
基本數據類型:數和字符串 列表 在python中沒有數組的概念,python中跟數組最接近的概念就是列表和元組。列表就是用來存儲一連串元素的容器。列表用[]來表示,在列表中的元素是有序排列的,並且從0號元素開始。 #列表 drinks=["可口可樂","百事可樂","雪碧","芬達","美年達"] print drinks[1] 元組 元組裡面的元素也是進行索引計算 列表與元組的區別:1.列表裡面的元素的值是可以修改的,但是元組裡面的元素的值不能修改,隻能進行讀取操作 2.列表的符號是[],而元組的符號是() #元組 drinks=("可口可樂","百事可樂","雪碧","芬達","美年達") print drinks[1] #不能修改否則報錯 drinks[1] = "蘭芳園" print drinks[1] 集合 python中集合主要有兩個功能,一個功能是建立關系,另一個功能是消除重復元素,集合的格式是:set(元素) #集合 a=set("asfddseegsak") b=set("sfca") #交集 c=a&b print c #並集 d=a|b print d #差集 e=a-b print e #去除重復元素 new=set(a) 字典 python中的字典也叫做關聯數組,用大括號{}括起來。格式: zidian={'name':'tan','location':'china','like':'sleep'}。 字典裡面包含瞭一整個事情,這一整個事情裡面包括瞭各種方面的詳細信息。比如上述的就包含瞭name、location、like這三個方面的具體信息。 #字典 d={"姓名":"tan","國傢":"中國"} print d["國傢"] #添加字典裡面的項目 d["愛好"]="睡覺" print d["姓名"] print d["愛好"]
U4:Python標識符
命名規則: 1.標識符第一個字符必須是字母或者下劃線,第一個字符不能出現數字或者其他的字符 2.標識符除瞭第一個字符外,其他部分可以說字母或者下劃線或者數字 3.標識符大小寫敏感 python中的關鍵字是指系統中自帶的具備特定含義的標識符。 常用的python關鍵字有: and elif global or else pass break continue import class return for while print
U5:Python對象
什麼是python的對象? 在python中一切皆為對象,內置的對象類型主要包括數組、字符串、列表、元組、字典、集合等 詳解pickle醃制 在python中如果需要對一些對象進行持久性存儲,並且不丟失這個對象的類型與數據,則需要將這些對象進行序列化,序列化之後,需要使用的時候,我們再恢復變成之前的數據。序列化的這個過程,我們將其稱為pickle(醃制) #pickle醃制 import pickle #dumps(object)將對象序列化 lista=["one","two","three"] listb=pickle.dumps(lista) print listb #loads(string)將對象原樣恢復,並且對象類型也恢復為原來的格式 listc=pickle.loads(listb) print listc #dump(object,file)將對象存儲到文件裡面序列化 group1=("four","five","six") f1=file("1.pk1","wb") pickle.dump(group1,f1,True) f1.close() #load(object,file)將dump()存儲在文件裡面的數據恢復 f2=file('1.pk1','rb') t=pickle.load(f2) print t f2.close()
U6:Python行與縮進
瞭解邏輯行與物理行: 邏輯行主要是指一段代碼在意義上的行數,物理行是指實際中看到的行數 #邏輯行與物理行 #2個物理行 print "123" print "345" #1個物理行,2個邏輯行 print "123";print "345" #1個邏輯行,2個物理行 print '''你好嗎 你還好嗎''' 行中分號使用規則: 在python中一個物理行一般可以包括多個邏輯行,在一個物理行中編寫多個邏輯行的時候,邏輯行與邏輯行之間用分號隔開。每個邏輯行的後面必須是有一個分號的,但是如果一個邏輯行占瞭一個物理行的最後,這個邏輯行可以省略分號。 行連接: 在不使用三引號的情況下,還可以使用行連接去占取多行(即:將一個邏輯行寫在多個物理行中) #行連接 print '殺青散\ 沒有解藥' 什麼是縮進? python有一個很不一樣的不同點,在python中邏輯行行首的空白是有規定的,邏輯行行首的空白不對,便會導致程序執行出錯 報錯:There's an error in your program:unexpected indent 如何縮進 1.一般情況下邏輯行行首不應該出現空白 2.if語句的縮進方法 3.while循環的縮進方法 #縮進 #一般情況下,行首不應該出現空白 import sys #縮進的方法有兩種,一種按空格,另一種按tab鍵 #if語句的縮進方法 a=7 if a>0: print "hi" #while循環的縮進方法 a=0 while a<7: print a a+=1 註釋: 在python中一般使用#進行註釋,#是單行註釋
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- Python3 pickle模塊的使用方法詳細介紹
- Python序列化與反序列化相關知識總結
- python中pickle模塊淺析
- python爬取之json、pickle與shelve庫的深入講解
- 老生常談Python中的Pickle庫