python创建和控制的实体称为_Python语法基础
Python語法基礎
數據對象和組織
對現實世界實體和概念的抽象
簡單類型(表示):整數—int、浮點數—float、復數—complex、邏輯值—bool、字符串—str
容器類型(組織):列表—list、元組—tuple、集合—set、字典—dict
數據類型之間大都可以轉換
賦值和控制流
對現實世界處理和過程的抽象
運算語句(處理與暫存):表達式計算、函數調用、賦值
控制流語句(組織語句描述過程):循環、條件分支、順序
定義語句也用來組織語句,描述一個包含一系列處理過程的計算單元:函數定義、、類定義
python數據類型
整數int:不受大小限制
浮點數float:受到17位有效數字的限制
整數與浮點數有常見的運算包括加(+)、減(-)、乘(*)、除(/)、整除(//)、求余(%)、指數冪等
一些常用數學函數在math模塊中
import math
a=math.sqrt(4)
#a=2
復數:python內置對復數的計算
支持所有常見的復數計算
對復數處理的數學函數在模塊cmath中
import cmath
a=cmath.sqrt(1+2j)
#a的值為復數1+2i開根號
邏輯值(bool):邏輯值僅包括True/False兩個
配合if/while等語句做條件判斷
其他數據類型可以轉化為邏輯值,如0與非0等
bool(0)#False
bool(999)#True
字符串:python中字符串不能修改只能產生新的字符串
用單引號和雙引號都可以表示字符串
多行字符串用三個連續的單引號表示
特殊字符用轉移符號""表示
字符串基本操作:連接(+)、復制(*)、長度(len)、[start:end:step]用來切片(提取一部分)
高級操作:分割(split)、合并(join)、大小寫相關(upper/lower/swapcase)、替換字符(replace)等等
>>> 'a b c d'.split(' ')
['a', 'b', 'c', 'd']
>>> 'abc'.upper()
'ABC'
列表和元組
python中有幾種類型是一系列元素組成的序列,以整數作為索引
字符串str就是一種同類元素的序列
列表list和元組tuple則可以容納不同類型的元素,構成序列
元組是不能更新的序列(字符串也是)
列表則可以刪除、添加、替換、重排序列中的元素
image
創建列表:[]或者list()
創建元組:()或者tuple()
用索引[n]獲取元素(列表可變)
+:連接列表/元組
*:復制n次,生成新列表/元組
len():元素個數
in:某個元素是否存在
[start:end:step]:切片
方法名稱
使用例子
說明
append
alist.append(item)
列表末尾添加元素
insert
alist.insert(i,item)
列表中i位置插入元素
pop
alist,pop()
刪除最后一個元素
sort
alsit.sort()
將表中元素排序
reverse
alist.reverse()
將列表元素反向排序
del
del.alist[i]
刪除第i個元素
indx
alist.index(item)
找到item的首次出現位置
count
alsit.count(item)
返回item在列表出現的次數
remove
alist.remove(item)
將item的首次出現刪除
集合set:集合是不重復元素的無序組合
用set()創建空集
用set()從其他序列轉化生成集合
集合的常見操作:
in:判斷元素是否屬于集合、
|,union():并集、
&,intersection():交集
-,difference():差集
^,symmetric_difference():異或
<=,=,>:子集,真子集,超集,真超集
字典dict:
字典是通過鍵值key來索引元素value,而不是像列表是通過連續的整數來索引
字典是可變類型
字典中元素value沒有順序,可以是任意類型
字典中的key可以是不可變類型(數值/字符串/元組)
python變量機制
引用數據對象
賦值語句a=0,實際上是創建了名為a的變量,然后指向數據對象“0”
所以變量可以隨時指向任何一個數據對象,如True,1.02等(這和靜態語言完全不同)
變量的類型隨著指向的數據對象類型改變而改變。
可變類型的變量引用情況
由變量的引用特性,可變類型的變量操作需要注意的是,多個變量通過賦值引用同一個可變類型對象時,通過任何一個變量改變了可變類型,其他變量也看到了改變
常用的連續序列生成器:range函數
range(n):從0到n-1的序列
range(start,end):從start到end-1的序列
range(start,end,step)
range函數返回range類型的對象,可以直接當作序列使用,也可以轉換為list或者tuple等容器類型
建立大型數據結構
嵌套列表:列表的元素是一些列表,可以通過alsit[i][j]來索引
字典元素可以是任意類型,所以也可以是字典
字典的鍵值可以是任意不可變類型。
>>> alist=[[1,2,3],[True,'ab']]
>>> alist[0][2]
3
>>> adict={'a':['1','2'],'b':[True,'sun']}
>>> adict['b'][0]
True
輸入和輸出:input/print函數
input(prompt):顯示提示信息prompt,輸入內容以字符串形式返回
print(v1,v2,v3,...):打印各變量的值輸出,可以帶參數end(結尾)和sep(字符串之間)
格式化字符串:'%d %s' % (v1,v2)
運算語句:表達式、函數調用、賦值
各類型的數據對象,可以通過各種運算組織成復雜的表達式
調用函數或對象,也可以返回數據,所有可調用的事物稱為callable(調用函數或對象,需要在其名稱后加圓括號,有參數,寫在括號里,不加圓括號的函數或對象僅表示自己,而不是調用)
將表達式或調用返回值傳遞給變量進行引用,稱為賦值
控制流語句
條件if
if :
elif :#可多個elif
else:#只能一個
while循環
while :
break #跳出循環
continue #略過余下循環語句
else: #條件不滿足推出循環,執行下面代碼
for循環
for in :
break #跳出循環
continue #略過余下循環語句
else: #迭代完畢則執行下面語句
推導式
可以用來生成列表、字典、集合的語句
[ for in if ]
{: for in if }
{ for in if }
生成式推導式
與推導式一樣語法(但是用的是圓括號)
( for in if )
返回一個生成器對象,也是可迭代對象,但不會立即產生全部元素,僅在要用到元素的時候才生成,可以極大節省內存
例外處理Exception Handing
代碼運行可能出現的錯誤
語法錯誤:Syntax Error
除以0錯誤:ZeroDivionError
列表下標越界:IndexError
類型錯誤:TypeError
錯誤會引起一些不必要的麻煩,如果希望掌控意外錯誤,就需要在可能出錯的地方設置陷阱捕捉錯誤,引入try,except方式
try: #若出錯,則執行except后的語句
except: #處理錯誤代碼
else: #沒有出錯執行下面的代碼
finally: #無論出錯否,都執行的代碼
函數function
# def語句:
def ():
return
# 調用函數:
()# 無返回值
v=()# 返回值賦值給變量v
定義函數的參數:固定參數/可變參數
定義函數時,參數可以有兩種;一種是參數表中寫明了參數名key的參數,固定了順序和數量
def func(key1,key2,key3=value3....):
一種是定義時還不知道會有多少參數傳入的可變參數
def func1(*args): #不帶key的多個參數
def func2(**kwargs): #帶key=val形式的多個參數
調用函數的參數:位置參數/關鍵字參數
調用函數時,可以傳進兩種參數;一種是沒有名字的位置參數(會按前后順序對應),一種是指定了key值的關鍵字參數
如果混用,位置參數必須在關鍵字參數前
面向對象:類的定義與調用
類用來實現抽象數據類型ADT,封裝實體的屬性和行為
#定義類
class :
def __init__(self,):
def (self,)
#調用類
obj=()
#返回一個對象實例,類方法中的self指這個對象實例
類定義中的特殊方法
在類定義中實現一些特殊方法,可以方便的使用一些python內置操作(所有特殊方法以兩個下劃線開始結束)
__str__(self): 自動轉化為字符串
__add__(self,other): 使用+操作符
__mul__(self,other): 使用*操作符
__eq__(self,other): 使用==操作符
類的繼承機制
如果有兩個類具有“一般-特殊”的邏輯關系,那么特殊類就可以作為一般類的“子類”來定義,從“繼承”屬性和方法
class ():#可以繼承多個父類
def (self,...):
子類對象可以調用父類方法,除非這個方法在子類中重新定義了
總結
以上是生活随笔為你收集整理的python创建和控制的实体称为_Python语法基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进入恢复模式(Recovery HD)
- 下一篇: python右键没有idle编辑了_Py