Python的語法基礎(chǔ)你真的了解嗎
Python語法基礎(chǔ)
01-Python快速入門
U1-定義變量
直接定義 不用指明變量類型
e.g:
a=10
U2-判斷語句
#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類,要執(zhí)行父類的構(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):
簡單、功能強(qiáng)大、支持面向?qū)ο?/p>
U2-七大特色:
大小寫嚴(yán)格區(qū)分
簡單、易學(xué)、支持面向?qū)ο?/p>
開源
庫非常豐富
跨平臺(tái)使用
解釋性語言
高級(jí)語言
03-python語法基礎(chǔ)
U1:Python常量與變量
常量:在程序運(yùn)行的時(shí)候不會(huì)被更改的量,一旦綁定,就不能更改
Python中定義常量需要用對(duì)象的方法來創(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 長整數(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)引起來的字符集
引號(hào)的使用與區(qū)別:
單引號(hào)里面可以使用雙引號(hào),并且可以輸出出來
雙引號(hào)里面不能使用雙引號(hào),但是其里面可以使用單引號(hào),并且可以輸出出來
三引號(hào)(三個(gè)單引號(hào)或者三個(gè)雙引號(hào)),三引號(hào)引起來的內(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è)字符串中的子字符串出來,就要進(jìn)行子字符串運(yùn)算,子字符串的運(yùn)算方法主要有兩種:1.索引運(yùn)算法[] 2.切片運(yùn)算法[:]
#子字符串
#索引運(yùn)算符從0開始索引
#切片運(yùn)算符[a:b]是指從第a下標(biāo)開始到第b-1下標(biāo)。同樣,從0開始索引
s1 = "helloworld"
s2 = s1[0]
s3 = s1[7]
s4 = s1[:7]
s5 = s1[7:]
s6 = s1[3:7]
print s6
U3:Python數(shù)據(jù)類型
基本數(shù)據(jù)類型:數(shù)和字符串
列表
在python中沒有數(shù)組的概念,python中跟數(shù)組最接近的概念就是列表和元組。列表就是用來存儲(chǔ)一連串元素的容器。列表用[]來表示,在列表中的元素是有序排列的,并且從0號(hào)元素開始。
#列表
drinks=["可口可樂","百事可樂","雪碧","芬達(dá)","美年達(dá)"]
print drinks[1]
元組
元組里面的元素也是進(jìn)行索引計(jì)算
列表與元組的區(qū)別:1.列表里面的元素的值是可以修改的,但是元組里面的元素的值不能修改,只能進(jìn)行讀取操作 2.列表的符號(hào)是[],而元組的符號(hào)是()
#元組
drinks=("可口可樂","百事可樂","雪碧","芬達(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){}括起來。格式:
zidian={'name':'tan','location':'china','like':'sleep'}。
字典里面包含了一整個(gè)事情,這一整個(gè)事情里面包括了各種方面的詳細(xì)信息。比如上述的就包含了name、location、like這三個(gè)方面的具體信息。
#字典
d={"姓名":"tan","國家":"中國"}
print d["國家"]
#添加字典里面的項(xiàng)目
d["愛好"]="睡覺"
print d["姓名"]
print d["愛好"]
U4:Python標(biāo)識(shí)符
命名規(guī)則:
1.標(biāo)識(shí)符第一個(gè)字符必須是字母或者下劃線,第一個(gè)字符不能出現(xiàn)數(shù)字或者其他的字符
2.標(biāo)識(shí)符除了第一個(gè)字符外,其他部分可以說字母或者下劃線或者數(shù)字
3.標(biāo)識(shí)符大小寫敏感
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ì)象類型主要包括數(shù)組、字符串、列表、元組、字典、集合等
詳解pickle腌制
在python中如果需要對(duì)一些對(duì)象進(jìn)行持久性存儲(chǔ),并且不丟失這個(gè)對(duì)象的類型與數(shù)據(jù),則需要將這些對(duì)象進(jìn)行序列化,序列化之后,需要使用的時(shí)候,我們再恢復(fù)變成之前的數(shù)據(jù)。序列化的這個(gè)過程,我們將其稱為pickle(腌制)
#pickle腌制
import pickle
#dumps(object)將對(duì)象序列化
lista=["one","two","three"]
listb=pickle.dumps(lista)
print listb
#loads(string)將對(duì)象原樣恢復(fù),并且對(duì)象類型也恢復(fù)為原來的格式
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è)物理行中編寫多個(gè)邏輯行的時(shí)候,邏輯行與邏輯行之間用分號(hào)隔開。每個(gè)邏輯行的后面必須是有一個(gè)分號(hào)的,但是如果一個(gè)邏輯行占了一個(gè)物理行的最后,這個(gè)邏輯行可以省略分號(hào)。
行連接:
在不使用三引號(hào)的情況下,還可以使用行連接去占取多行(即:將一個(gè)邏輯行寫在多個(gè)物理行中)
#行連接
print '殺青散\
沒有解藥'
什么是縮進(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語句的縮進(jìn)方法
3.while循環(huán)的縮進(jìn)方法
#縮進(jìn)
#一般情況下,行首不應(yīng)該出現(xiàn)空白
import sys
#縮進(jìn)的方法有兩種,一種按空格,另一種按tab鍵
#if語句的縮進(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)行注釋,#是單行注釋
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python批量將csv文件編碼方式轉(zhuǎn)換為UTF-8的實(shí)戰(zhàn)記錄
近日在處理數(shù)據(jù)的時(shí)候發(fā)現(xiàn)有的文件為csv文件,Xiam 這篇文章主要給大家介紹了關(guān)于利用Python批量將csv文件編碼方式轉(zhuǎn)換為UTF-8的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
python函數(shù)超時(shí)自動(dòng)退出的實(shí)操方法
在本篇文章里小編給大家整理的是一篇關(guān)于python函數(shù)超時(shí)自動(dòng)退出的實(shí)操方法,有需要的朋友們可以學(xué)習(xí)下。2020-12-12
python用for循環(huán)求和的方法總結(jié)
在本篇文章里小編給各位分享了關(guān)于python用for循環(huán)求和的方法以及相關(guān)實(shí)例代碼,需要的朋友們參考學(xué)習(xí)下。2019-07-07
Python 實(shí)現(xiàn)字符串中指定位置插入一個(gè)字符
下面小編就為大家分享一篇Python 實(shí)現(xiàn)字符串中指定位置插入一個(gè)字符,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
基于python中staticmethod和classmethod的區(qū)別(詳解)
下面小編就為大家?guī)硪黄趐ython中staticmethod和classmethod的區(qū)別(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)
這篇文章主要為大家介紹了python人工智能算法之人工神經(jīng)網(wǎng)絡(luò)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

