1. 程式人生 > >PYTHON3的基礎語法第一節

PYTHON3的基礎語法第一節

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)
  • 標準資料型別
           Python3中的留個標準資料型別:
                 1, number(數字型別);                  2,string  (字串型別);                  3,list  (列表型別);                  4,tuple(元組型別0、);
                 5,sets  (集合型別);                  6,dictionary(字典型別)。
  • number(數字型別)
  1. Python中數字型別的分類;int(整型),float(浮點型),bool(true/false),complex(複數型)
  2. 在Python3中只有一種整數型別int,沒有長整型,沒有Python2中的long。
  3. 想大多數語言一樣,數值型別的賦值和計算都是和直觀的
  4. 內建的type()函式可以用來查詢變數所指的物件型別。
表示如下:                  
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'>
還可以用isintance來判斷:
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
  • 數值運算
數值運算分為:加,減,乘,除,取餘;    4+4     #加法  8    5-3      #減法 2     4*3     #乘法 12     2/4     #除法 ,得到一個浮點數 0.5     2//4    #除法 ,得到一個整數 0     17%3  #取餘 2     2**5    #乘方 32
  •  注意:
  • 1,python可以為多個變數賦值,如a,b=1,2.
  • 2,一個變數可以通過賦值指向不同型別的物件。
  • 3,數值的除法(/)總是返回浮點數,要獲取整數使用(//)操作符。
  • 4,在數值混合計算時,python會把整型轉換成為浮點數。
Python還支援複數,複數有實數部分和虛數部分構成,可以用a+bj或者complex表示,複數的實數部a和虛數部b都是浮點型。
  • 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]
但是第二句話中有中括號。