PYTHON3的基礎語法第一節
阿新 • • 發佈:2019-02-14
Python3的基本資料型別
python 中的變數不需要宣告,每個變數在使用錢都必須賦值,變數賦值後該變數才會被建立。
在Python中,變數就是變數,它沒有型別,我們所說的“型別”是變數所指的記憶體中的物件的型別。
等號(=)是用來給變數賦值的。
等號(=)運算子左邊是一個變數名,等號(=)運算子右邊是儲存在變數中的值。
例如:
counter=100; #整形變數; miles =1000.0 #浮點型變數; name ="tom" #字串; print(counter); print(miles); print(name);
列印的結果為:100 1000.0 tom;
- 多個變數賦值:
允許同時為多個變數賦值,
a=b=c=1;(建立一個整形物件,賦值為1,三個變數被分配到相同的值上)
a,b,c=1,2,"runoob";(為多個物件指定多個變數,兩個整型物件1和2的分配變數a和b,字串物件“runoob”分配給變數c)
- 標準資料型別
1, number(數字型別); 2,string (字串型別); 3,list (列表型別); 4,tuple(元組型別0、);
- number(數字型別)
- Python中數字型別的分類;int(整型),float(浮點型),bool(true/false),complex(複數型)
- 在Python3中只有一種整數型別int,沒有長整型,沒有Python2中的long。
- 想大多數語言一樣,數值型別的賦值和計算都是和直觀的
- 內建的type()函式可以用來查詢變數所指的物件型別。
還可以用isintance來判斷:a,b,c,d,=20,5.5,Ture,4+3j print(type(a),type(b),type(c),type(d)) <class 'int'><class 'float'><class 'bool'><class 'complex'>
a= 111
isinstance(a,int);
True
isinstance和type 的區別在於:
class A:
pass
class B(A):
pass
isinstance(A(),A) #returns(回覆) true
type(A())==A #returns(回覆) true
isinstance(B(),A) #returns(回覆) true
type(B())==A #returns(回覆) false
區別就是:- type()不會認為子類是一種父類;型別。
- isinstance()會認為子類是一種父類型別。
注意: 在Python2中是沒有布林型別(bool)的,它用數字0表示false,用1表示true。在Python3 中,把true和false定義成關鍵字,它們的值還是1 和0,它們可以和數字相加。
當你指定一個值時,Number物件就會被建立:var1=1
var2=10
也可以通過使用del語句刪除一些物件的引用。
del的語句是:
del var1[,var2[......,varN]]
使用del語句刪除單個或多個物件:del var
del var_a,var_b
- 數值運算
- 注意:
- 1,python可以為多個變數賦值,如a,b=1,2.
- 2,一個變數可以通過賦值指向不同型別的物件。
- 3,數值的除法(/)總是返回浮點數,要獲取整數使用(//)操作符。
- 4,在數值混合計算時,python會把整型轉換成為浮點數。
- string(字串)
python中的字串用單引號(')或者雙引號("")括起來,同時使用反斜槓(\)轉移特殊字元。
字串的擷取的語法格式如下:
變數[頭小標:尾下標]
索引值以(0)為開始值,(-1)為末尾的開始位置。
加號(+)是字串的連線符,星號(*)表示複製當前字串,緊跟的數字為複製的次數。
例項如下:#/usr/bin/python03
str ='runoob'
print (str) #輸出字串
print (str[0:-1]) #輸出第一個到倒數第二個的所有字元
print (str[0]) # 輸出字串第一個字元
print (str[2:5]) # 輸出從第三個開始到第五個的字元
print (str[2:]) # 輸出從第三個開始的後的所有字元
print (str * 2) # 輸出字元竄兩次
print (str + "YUONH") # 連線字串
執行以上程式碼會輸出一下結果:
runoob
runoo
r
noo
noob
runoobrunoob
runoobYUONH
Python使用反斜槓(\)轉義特殊字元,如果不想反斜槓發生轉義,可以在字元竄前面加一個r,表示原始字元竄:
print('nihao\denghao')
nihao
denghao
print(r,'nihao\denghao')
nihaodenghao
反斜槓(\)還可以作為續行符,表示下一行和上一行的延續。
("""...""" 或者 '''...''')三個雙引號或者三個單引號可以用來作用字元竄跨越多行,
注意:Python中沒有單獨的字元型別,一個字元就是長度為 1 的字串。
word ='python'
print(word[0],word[4])
p o
print(word[-1],word[-6])
n p
python字串不能被改變。 向一個索引位置賦值,比如Word[0]='m' 會導致錯誤。
- 注意:
- 1,反斜槓(\)可以用來轉義,使用 r 可以讓反斜槓不發生轉義、
- 2,字串可以用(+)運算子連線在一起。用(*)運算子重複。
- 3,Python中的字串有兩種索引方式,從左往右以(0)開始,從右往左以(-1)開始。
- 4,Python中的字串不能被改變。
Python中的資料型別轉換
需要對資料內建的型別進行轉換,資料型別的轉換,只需要將資料型別作為函式名即可。
以下幾個內建的函式可以執行資料型別之間的轉換。這些函式將返回一個新的物件,表示轉換的值:
- int(x,[base]), 將X轉換為一個整數
- float(x), 將X轉換為一個浮點數
- complex(real,[imag]), 建立一個複數
- str(x), 將物件X轉換為字串
- repr(x), 將物件轉換為表示式字串
- eval(str), 用來計算在字串中的有效Python表示式,並返回一個物件
- tuple(s) 將序列s轉換為一個元組
- list(s), 將序列s轉換為一個列表
- set(s), 轉換為可變集合
- frozenset(s), 轉換為不可變集合
- dict(d), 建立一個字典。d 必須是一個序列(key,value)元組
- chr(x), 將一個整數轉換為一個字元
- ord(x), 將一個字元轉換為他的整數值
- hex(x), 將一個整數轉換為一個十六進位制字串
- oct(x), 將一個整數轉換為一個八進位制字串
筆記:
在llist的使用中,開始很容易忽視這一點:
list = ['asdf',123,2.23,'runoob',30.2]
print (list[1:3]);#從第二個開始輸出到第三個元素
list[1:3]其實是輸出的只有兩個變數,即list中的第二個元素到第三個元素,並不是第1第2第3三個元素。
要注意的是:
print (list[2]);
print (list[2:3])
這個兩句話列印的內容是一樣的:
2.23
[2.23]
但是第二句話中有中括號。