Python的語(yǔ)法基礎(chǔ)你真的了解嗎
Python語(yǔ)法基礎(chǔ)
01-Python快速入門(mén)
U1-定義變量
直接定義 不用指明變量類(lèi)型
e.g:
a=10
U2-判斷語(yǔ)句
#coding=utf-8
if s>=80:
print("優(yōu)")
elif s>=60:
print("良")
else:
print("差")
必須要有縮進(jìn)??!
有中文要強(qiáng)調(diào)下utf-8
U3-循環(huán)
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-定義函數(shù)
def sayHello():
print("Hello World")
def max(a,b):
if a>b:
return a
else:
return b
sayHello()
print(max(2,3))
U5-面向?qū)ο?/h4>
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類(lèi),要執(zhí)行父類(lèi)的構(gòu)造方法
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的三大優(yōu)點(diǎn)、七大特色
U1-三大優(yōu)點(diǎn):
簡(jiǎn)單、功能強(qiáng)大、支持面向?qū)ο?/p>
U2-七大特色:
大小寫(xiě)嚴(yán)格區(qū)分
簡(jiǎn)單、易學(xué)、支持面向?qū)ο?/p>
開(kāi)源
庫(kù)非常豐富
跨平臺(tái)使用
解釋性語(yǔ)言
高級(jí)語(yǔ)言
03-python語(yǔ)法基礎(chǔ)
U1:Python常量與變量
常量:在程序運(yùn)行的時(shí)候不會(huì)被更改的量,一旦綁定,就不能更改
Python中定義常量需要用對(duì)象的方法來(lái)創(chuàng)建
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
變量:在程序運(yùn)行時(shí)可以隨著程序的運(yùn)行更改的量,即使賦值,也可以更改
i = 7 print i i = 7 print i i += 1 print i i += 2 print i
U2:Python數(shù)與字符串
5種數(shù):
int 整數(shù)型
long 長(zhǎng)整數(shù)型,e.g: 878123l
float 浮點(diǎn)型,e.g: 1.71235
bool 布爾型,e.g: True、False
complex 復(fù)數(shù)型,e.g: 3+5j、2-7j
字符串:用引號(hào)引起來(lái)的字符集
引號(hào)的使用與區(qū)別:
單引號(hào)里面可以使用雙引號(hào),并且可以輸出出來(lái)
雙引號(hào)里面不能使用雙引號(hào),但是其里面可以使用單引號(hào),并且可以輸出出來(lái)
三引號(hào)(三個(gè)單引號(hào)或者三個(gè)雙引號(hào)),三引號(hào)引起來(lái)的內(nèi)容可以換行
轉(zhuǎn)義符
\: 不會(huì)解析單引號(hào)里面的單引號(hào)或者雙引號(hào)里面的雙引號(hào)
e.g: print 'It\'s a dog!'
\n: 轉(zhuǎn)行
e.g: print "hello tan\nhello tan"
自然字符串:
在python里面,如果我們的一串字符串即使有轉(zhuǎn)義符,也需要將他原樣保留,不進(jìn)行任何處理,我們可以使用自然字符串,就在字符串前面加上r
e.g:
#自然字符串
print "hello tan\nhello tan"
print r"hello tan\nhello tan"
輸出:
hello tan
hello tan
hello tan\nhello tan
字符串的重復(fù):
如果要將一個(gè)字符串重復(fù)的輸出,可以使用字符串的重復(fù)運(yùn)算符,例如將hi重復(fù)輸出7次,可以使用"hi"*7
print "Hello World\n"*7
子字符串:
想取一個(gè)字符串中的子字符串出來(lái),就要進(jìn)行子字符串運(yùn)算,子字符串的運(yùn)算方法主要有兩種:1.索引運(yùn)算法[] 2.切片運(yùn)算法[:]
#子字符串
#索引運(yùn)算符從0開(kāi)始索引
#切片運(yùn)算符[a:b]是指從第a下標(biāo)開(kāi)始到第b-1下標(biāo)。同樣,從0開(kāi)始索引
s1 = "helloworld"
s2 = s1[0]
s3 = s1[7]
s4 = s1[:7]
s5 = s1[7:]
s6 = s1[3:7]
print s6
U3:Python數(shù)據(jù)類(lèi)型
基本數(shù)據(jù)類(lèi)型:數(shù)和字符串
列表
在python中沒(méi)有數(shù)組的概念,python中跟數(shù)組最接近的概念就是列表和元組。列表就是用來(lái)存儲(chǔ)一連串元素的容器。列表用[]來(lái)表示,在列表中的元素是有序排列的,并且從0號(hào)元素開(kāi)始。
#列表
drinks=["可口可樂(lè)","百事可樂(lè)","雪碧","芬達(dá)","美年達(dá)"]
print drinks[1]
元組
元組里面的元素也是進(jìn)行索引計(jì)算
列表與元組的區(qū)別:1.列表里面的元素的值是可以修改的,但是元組里面的元素的值不能修改,只能進(jìn)行讀取操作 2.列表的符號(hào)是[],而元組的符號(hào)是()
#元組
drinks=("可口可樂(lè)","百事可樂(lè)","雪碧","芬達(dá)","美年達(dá)")
print drinks[1]
#不能修改否則報(bào)錯(cuò)
drinks[1] = "蘭芳園"
print drinks[1]
集合
python中集合主要有兩個(gè)功能,一個(gè)功能是建立關(guān)系,另一個(gè)功能是消除重復(fù)元素,集合的格式是:set(元素)
#集合
a=set("asfddseegsak")
b=set("sfca")
#交集
c=a&b
print c
#并集
d=a|b
print d
#差集
e=a-b
print e
#去除重復(fù)元素
new=set(a)
字典
python中的字典也叫做關(guān)聯(lián)數(shù)組,用大括號(hào){}括起來(lái)。格式:
zidian={'name':'tan','location':'china','like':'sleep'}。
字典里面包含了一整個(gè)事情,這一整個(gè)事情里面包括了各種方面的詳細(xì)信息。比如上述的就包含了name、location、like這三個(gè)方面的具體信息。
#字典
d={"姓名":"tan","國(guó)家":"中國(guó)"}
print d["國(guó)家"]
#添加字典里面的項(xiàng)目
d["愛(ài)好"]="睡覺(jué)"
print d["姓名"]
print d["愛(ài)好"]
U4:Python標(biāo)識(shí)符
命名規(guī)則:
1.標(biāo)識(shí)符第一個(gè)字符必須是字母或者下劃線,第一個(gè)字符不能出現(xiàn)數(shù)字或者其他的字符
2.標(biāo)識(shí)符除了第一個(gè)字符外,其他部分可以說(shuō)字母或者下劃線或者數(shù)字
3.標(biāo)識(shí)符大小寫(xiě)敏感
python中的關(guān)鍵字是指系統(tǒng)中自帶的具備特定含義的標(biāo)識(shí)符。
常用的python關(guān)鍵字有:
and
elif
global
or
else
pass
break
continue
import
class
return
for
while
print
U5:Python對(duì)象
什么是python的對(duì)象?
在python中一切皆為對(duì)象,內(nèi)置的對(duì)象類(lèi)型主要包括數(shù)組、字符串、列表、元組、字典、集合等
詳解pickle腌制
在python中如果需要對(duì)一些對(duì)象進(jìn)行持久性存儲(chǔ),并且不丟失這個(gè)對(duì)象的類(lèi)型與數(shù)據(jù),則需要將這些對(duì)象進(jìn)行序列化,序列化之后,需要使用的時(shí)候,我們?cè)倩謴?fù)變成之前的數(shù)據(jù)。序列化的這個(gè)過(guò)程,我們將其稱(chēng)為pickle(腌制)
#pickle腌制
import pickle
#dumps(object)將對(duì)象序列化
lista=["one","two","three"]
listb=pickle.dumps(lista)
print listb
#loads(string)將對(duì)象原樣恢復(fù),并且對(duì)象類(lèi)型也恢復(fù)為原來(lái)的格式
listc=pickle.loads(listb)
print listc
#dump(object,file)將對(duì)象存儲(chǔ)到文件里面序列化
group1=("four","five","six")
f1=file("1.pk1","wb")
pickle.dump(group1,f1,True)
f1.close()
#load(object,file)將dump()存儲(chǔ)在文件里面的數(shù)據(jù)恢復(fù)
f2=file('1.pk1','rb')
t=pickle.load(f2)
print t
f2.close()
U6:Python行與縮進(jìn)
了解邏輯行與物理行:
邏輯行主要是指一段代碼在意義上的行數(shù),物理行是指實(shí)際中看到的行數(shù)
#邏輯行與物理行
#2個(gè)物理行
print "123"
print "345"
#1個(gè)物理行,2個(gè)邏輯行
print "123";print "345"
#1個(gè)邏輯行,2個(gè)物理行
print '''你好嗎
你還好嗎'''
行中分號(hào)使用規(guī)則:
在python中一個(gè)物理行一般可以包括多個(gè)邏輯行,在一個(gè)物理行中編寫(xiě)多個(gè)邏輯行的時(shí)候,邏輯行與邏輯行之間用分號(hào)隔開(kāi)。每個(gè)邏輯行的后面必須是有一個(gè)分號(hào)的,但是如果一個(gè)邏輯行占了一個(gè)物理行的最后,這個(gè)邏輯行可以省略分號(hào)。
行連接:
在不使用三引號(hào)的情況下,還可以使用行連接去占取多行(即:將一個(gè)邏輯行寫(xiě)在多個(gè)物理行中)
#行連接
print '殺青散\
沒(méi)有解藥'
什么是縮進(jìn)?
python有一個(gè)很不一樣的不同點(diǎn),在python中邏輯行行首的空白是有規(guī)定的,邏輯行行首的空白不對(duì),便會(huì)導(dǎo)致程序執(zhí)行出錯(cuò)
報(bào)錯(cuò):There's an error in your program:unexpected indent
如何縮進(jìn)
1.一般情況下邏輯行行首不應(yīng)該出現(xiàn)空白
2.if語(yǔ)句的縮進(jìn)方法
3.while循環(huán)的縮進(jìn)方法
#縮進(jìn)
#一般情況下,行首不應(yīng)該出現(xiàn)空白
import sys
#縮進(jìn)的方法有兩種,一種按空格,另一種按tab鍵
#if語(yǔ)句的縮進(jìn)方法
a=7
if a>0:
print "hi"
#while循環(huán)的縮進(jìn)方法
a=0
while a<7:
print a
a+=1
注釋:
在python中一般使用#進(jìn)行注釋?zhuān)?是單行注釋
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
詳解python 拆包可迭代數(shù)據(jù)如tuple, list
拆包是指將一個(gè)結(jié)構(gòu)中的數(shù)據(jù)拆分為多個(gè)單獨(dú)變量中。下面通過(guò)本文給大家介紹python 拆包可迭代數(shù)據(jù)如tuple, list的相關(guān)資料,需要的朋友參考下吧2017-12-12
Python 實(shí)現(xiàn)OpenCV格式和PIL.Image格式互轉(zhuǎn)
今天小編就為大家分享一篇Python 實(shí)現(xiàn)OpenCV格式和PIL.Image格式互轉(zhuǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
使用Pyhton集合set()實(shí)現(xiàn)成果查漏的例子
今天小編就為大家分享一篇使用Pyhton集合set()實(shí)現(xiàn)成果查漏的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
python中單下劃線與雙下劃線的區(qū)別及說(shuō)明
這篇文章主要介紹了python中單下劃線與雙下劃線的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python重用父類(lèi)功能的兩種方式實(shí)例詳解
這篇文章主要介紹了python重用父類(lèi)功能的兩種方式,方式一是跟繼承沒(méi)有關(guān)系的,而方式二的super()是依賴(lài)于繼承的,并且即使沒(méi)有直接繼承關(guān)系,super()仍然會(huì)按照MRO繼續(xù)往后查找,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解)
這篇文章主要介紹了pytorch關(guān)于卷積操作的初始化方式(kaiming_uniform_詳解),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
Python 3.6打包成EXE可執(zhí)行程序的實(shí)現(xiàn)
這篇文章主要介紹了Python 3.6打包成EXE可執(zhí)行程序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
解決Python出現(xiàn)_warn_unsafe_extraction問(wèn)題的方法
這篇文章主要為大家詳細(xì)介紹了解決Python出現(xiàn)'_warn_unsafe_extraction'問(wèn)題的方法,感興趣的小伙伴們可以參考一下2016-03-03

