Python學習1,Python的六大資料類型

來源:互聯網
上載者:User

標籤:逗號   雙引號   多行   相加   cti   class   for   查看   單行注釋   

# -*- coding: UTF-8 -*-

import keyword
print("hello python!")
print(keyword.kwlist)#查看python的關鍵字。
‘‘‘
#python的關鍵字有:
#[‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘break‘,
# ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘,
# ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘,
# ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘,
# ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
‘‘‘
#-----------
a=1
b=type(a)#取出變數a的資料類型。
print(b==int)
c=tuple([1,2])#將清單類型轉換為元群組類型。
print(type(c))
#----------
‘‘‘
#python3的基礎資料型別 (Elementary Data Type)
#python3中有六個標準的資料類型:
#Number(數字);String(字串);List(列表);Tuple(元組);Sets(集合);Dictionary(字典)。
#1.Number(數字)
#python3支援int,float,bool,complex(複數)。
#在python3裡,只有一種整數類型int,表示為長整型,沒有python2中的Long。
#type()函數可以用來查詢變數所指的物件類型。
‘‘‘
a,b,c,d=20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))#d的類型為complex複數型。
‘‘‘#此外,還可以用isinstance來判斷‘‘‘
a=111
b=isinstance(a,int)
print(b,type(b))
‘‘‘#isinstance()和type()的區別在於:‘‘‘
class A:
pass
class B(A):
pass
print(isinstance(A(),A))#輸出True
print(type(A())==A)#輸出True
print(isinstance(B(),A ))#輸出True
print(type(B())==A)#輸出False
‘‘‘
#區別就是:
#type()不會認為子類是一種父類類型;
#isinstance()會認為子類是一種父類類型。
#註:
#在python2中是沒有布爾型的,它用數字0表示False,用1表示True。
# 到python3中,把True和False定義成關鍵字了,但它們的值還是1和0,它們可以和數字相加。
‘‘‘
a,b,c=1,2+True,3+False#True=1,False=0.
print(a,b,c)
‘‘‘#可以通過使用del語句刪除單個或多個對象。例如:‘‘‘
del a
del b,c
‘‘‘#此時print(a,b,c)就會報錯,NameError: name ‘a‘ is not defined。‘‘‘
#數值運算
print(5+4)#加法,結果為9
print(5.2-2)#減法,結果為3.2
print(3*7)#乘法,結果為21
print(2/4)#除法,得到一個浮點數,結果為0.5
print(2//4)#除法,得到一個整數,結果為0
print(9//4)#結果為2
print(17%3)#取餘,結果為2
print(2**5)#乘方,結果為32
‘‘‘
#python可以同時為多個變數賦值,如a,b=1,2。
#一個變數可以通過賦值指向不同類型的對象。
#數值的除法(/)返回的是一個浮點數,取整要用"//"操作符。
#在混合計算時,python會把整型轉換成為浮點數。
#-----------------------------------------------------------------------------------------
數實值型別執行個體
int:10,100,-786,080,-0490,-0x69
float:0.0,15.20,-21.9,32.3+e18,-90.,-32.54e100,70.2-E12
complex:3.14j,45.j,9.322e-36j,.876j,-.6545+0j,3e+26j,4.53e-7j
‘‘‘
print(-0x69)#結果為-105
‘‘‘
python還支援複數,複數由實數部分和虛數部分構成,可以用a+bj,或者complex(a,b)表示,複數的實部a和虛部b都是浮點型。
‘‘‘
#-----------------------------------------------------------------------------------------
‘‘‘
#2.String(字串的資料類型)
#字串可以用‘+’運算子串連在一起,用‘*’運算子重複。
‘‘‘
d=‘Nothing is impossible!‘
print(d)#輸出d的所有字元
print(d[0:-1])#輸出d的第一個到倒數第二個(不包含最後一個)的所有字元
print(d[0])#輸出d的第1個字元
print(d[::-1])#倒序輸出d的所有字元
print(d[::2])#???
print(d[2:5])#輸出d的第三個到第五個(不包含第六個)的所有字元
print(d[2:])#輸出d的第三個到最後的所有字元
print(d*2)#輸出兩遍d的所有字元
print(d+‘test‘)#連接字串
e=‘abcdefg‘
print(e[::2])#每隔一個輸出e的所有字元
‘‘‘
#轉義符‘\’的輸出
#反斜線可以用來轉義,使用‘r‘可以讓反斜線不發生轉義。
#另外,反斜線也可以作為續行符,表示下一行是上一行的延續。也可以使用"""..."""或者\‘‘‘...\‘‘‘跨越多行。
‘‘‘
print(‘runoob‘)
print(‘ru\noob‘)
print(r‘ru\noob‘)
‘‘‘
#字串的索引位置
#python中的字串有兩種索引方式,從左往右以0開始,從右往左以-1開始。
‘‘‘
word=‘python‘
print(word[3],word[5])#輸入變數word的第四個和第六個字元
print(word[-1],word[-6])#輸出變數word的最後一個和倒數第六個字元
‘‘‘
#與C語言字串不同的是,python字串不能被改變,向一個索引位置賦值,比如word[0]=‘m‘會導致錯誤。
#注意:
#1、反斜線可以用來轉義,使用r可以讓反斜線不發生轉義。
#2、字串可以用+運算子串連在一起,用*運算子重複。
#3、Python中的字串有兩種索引方式,從左往右以0開始,從右往左以-1開始。
#4、Python中的字串不能改變。
‘‘‘
#-----------------------------------------------------------------------------------------
‘‘‘
#3.List(列表)
#List(列表)是python中使用最頻繁的資料類型。
#列表可以完成大多數集合類的資料結構實現。列表中元素的類型可以不相同,它支援數字,字串甚至可以包含列表(嵌套)。
#列表是寫在方括弧([])之間、用逗號隔開的元素列表。
#和字串一樣,列表同樣可以被索引和截取,列表被截取後返回一個包含所需元素的新列表。
#列表截取的文法格式如下:
# 變數[頭下標,尾下標]
#索引值以0為開始值,-1為從末尾的開始位置。
#加號(+)是列表串連運算子,星號(*)是重複操作,如下執行個體:
‘‘‘
l=[‘abcd‘,786,2.23,‘runoob‘,70.2]#定義列表l
tinyl=[123,‘runoob‘]#定義列表tinyl
print(l)#輸出資料行表l的所有元素,結果為[‘abcd‘, 786, 2.23, ‘runoob‘, 70.2]
print(l[0])#輸出資料行表l的第一個元素,結果為abcd
print(l[1:4])#輸出資料行表l的第二個到第四個(不包含第五個)元素,結果為[786, 2.23, ‘runoob‘]
print(l[2:])#輸出資料行表l的第三個到最後的所有元素,結果為[2.23, ‘runoob‘, 70.2]
print(l[::-1])#倒序輸出資料行表l的所有元素,結果為[70.2, ‘runoob‘, 2.23, 786, ‘abcd‘]
print(l[::2])#每隔一個輸出資料行表l的所有元素,結果為[‘abcd‘, 2.23, 70.2]
print(l*2)#輸出資料行表l兩遍,結果為[‘abcd‘, 786, 2.23, ‘runoob‘, 70.2, ‘abcd‘, 786, 2.23, ‘runoob‘, 70.2]
print(l+tinyl)#串連列表l和列表tinyl,結果為[‘abcd‘, 786, 2.23, ‘runoob‘, 70.2, 123, ‘runoob‘]
print(l*2+tinyl)
‘‘‘
#與python字串不一樣的是,列表中的元素是可以改變的。
#List內建了有很多方法,例如append()、pop()等等,這在後面會講到。
#注意:
#1、List寫在方括弧之間,元素用逗號隔開。
#2、和字串一樣,list可以被索引和切片。
#3、List可以使用+操作符進行拼接。
#4、List中的元素是可以改變的。
‘‘‘
‘‘‘
#4.Tuple(元組)
#元組(tuple)與列表類似,不同之處在於元組的元素不能修改。
#元組寫在小括弧(())裡,元素之間用逗號隔開。
@元組中的元素類型也可以不相同。
‘‘‘
t=(‘abcd‘, 786 , 2.23, ‘runoob‘, 70.2 )
tinyt=(123, ‘runoob‘)
print(t)#輸出元組t的所有元素,結果為(‘abcd‘, 786, 2.23, ‘runoob‘, 70.2)
print(t[0])#輸出元組t的第一個元素,結果為abcd
print(t[1:4])#輸出元組t的第二個到第四個(不包含第五個)元素,結果為(786, 2.23, ‘runoob‘)
print(t[::-1])#倒序輸出元組t的所有元素,結果為(70.2, ‘runoob‘, 2.23, 786, ‘abcd‘)
print(t[2:])#輸出遠處t的第三個到最後一個的所有元素,結果為(2.23, ‘runoob‘, 70.2)
print(t[::2])#每隔一個輸出元組t的所有元素,結果為(‘abcd‘, 2.23, 70.2)
print(t*2)#輸出元組兩遍,結果為(‘abcd‘, 786, 2.23, ‘runoob‘, 70.2, ‘abcd‘, 786, 2.23, ‘runoob‘, 70.2)
print(t+tinyt)#串連元組t和元組tinyt,結果為(‘abcd‘, 786, 2.23, ‘runoob‘, 70.2, 123, ‘runoob‘)
‘‘‘
#元組和字串類似,可以被索引且下標索引從0開始,-1為從末尾開始的位置。也可以進行截取。
#其實,字串也可以被看作是一種特殊的元組。
‘‘‘
t=(1,2,3,4,5,6)
print(t[1])
print(t[2:5])
‘‘‘
#修改元組元素是非法的,例如執行t[0]=11就會報錯,TypeError: ‘tuple‘ object does not support item assignment。
#雖然tuple的元素不可改變,但它可以包含可變的對象,比如list列表。
#構造包含0個或者1個元素的元組比較特殊,文法格式如下:
‘‘‘
t0=()#空元組
t1=(20,)#一個元素,需要在元素後添加逗號。
‘‘‘
#string、list和tuple都屬於sequence(序列)。
#注意:
#1、與字串一樣,元組的元素不能修改。
#2、元組也可以被索引和切片,方法一樣。
#3、注意構造包含0或1個元素的元組的特殊文法規則。
#4、元組也可以使用+操作符進行拼接。
‘‘‘
import this
‘‘‘
#5.Set(集合)
#集合(Set)是一個無序不重複元素的序列。
#準系統是進行成員關係測試和重複資料刪除元素。
#可以使用大括弧{}或者set()函數建立集合,注意:建立一個空集合必須用set()而不是{},因為{}是用來建立一個空字典。
‘‘‘
student={‘Tom‘,‘Jim‘,‘Mary‘,‘Tom‘,‘Jack‘,‘Rose‘}
student1={‘Tom‘,‘Jim‘,‘Rose‘}
print(student)#輸出集合student,重複的元素被主動去掉(輸出順序無規則)
#成員測試
m=‘Rose‘
if(m in student):
print(‘m在集合中‘)
else:
print(‘m不在集合中‘)
#set可以進行集合運算
a=set(‘abracadabra‘)
b=set(‘alacazam‘)
print(a,b)#輸出集合a和集合b,結果為{‘r‘, ‘c‘, ‘b‘, ‘d‘, ‘a‘} {‘c‘, ‘m‘, ‘z‘, ‘l‘, ‘a‘}
print(a-b)#輸出集合a與集合b的差集,結果為{‘b‘, ‘r‘, ‘d‘}
print(a|b)#輸出集合a與集合b的並集,結果為{‘r‘, ‘c‘, ‘b‘, ‘m‘, ‘z‘, ‘l‘, ‘d‘, ‘a‘}
print(a&b)#輸出集合a與集合b的交集,結果為{‘c‘, ‘a‘}
print(a^b)#輸出集合a與集合b中不同時存在的元素(並集-交集),結果為{‘r‘, ‘m‘, ‘b‘, ‘z‘, ‘l‘, ‘d‘}
print(student-student1)#輸出集合student與集合student1的差集,結果為{‘Jack‘, ‘Mary‘}
‘‘‘
#6.Dictionary(字典)
#字典(dictionary)是Python中另一個非常有用的內建資料類型。
#列表是有序的對象集合,字典是無序的對象集合。
#兩者的區別是:字典中的元素是通過鍵來存取的,而不是通過位移存取。
#字典是一種映射類型,字典用“{}”標識,它是一個無序的鍵(key):值(value)對集合。
#鍵(key)必須使用不可變類型。
#在同一個字典中,鍵(key)必須是唯一的。
‘‘‘
di={}#建立空字典di
print(di)
di[‘one‘]="1-菜鳥教程"#在字典di中建立key=‘one‘,value="1-菜鳥教程"的索引值對元素。
print(di)
di[2]="2-菜鳥工具"#在字典di中建立key=‘2‘,value="2-菜鳥工具"的索引值對元素。
print(di)#輸出字典di的所有元素
print(di[‘one‘])#輸出字典di中key=‘one‘的元素
print(di[2])#輸出字典di中key=‘2‘的元素
tinydict={‘name‘:‘Google‘,‘code‘:1,‘site‘:‘www.google.com‘}
print(tinydict)
print(tinydict.keys())#輸出字典tinydict中所有的鍵
print(tinydict.values())#輸出字典tinydict中所有的值
‘‘‘
#建構函式dict()可以直接從索引值對序列中構建字典如下
‘‘‘
dict1=dict([(‘Biying‘,1),(‘Google‘,2),(‘Taobao‘,3)])
print(dict1)
dict2={x:x**2 for x in (2,4,6,8)}
print(dict2)
dict3=dict(Runoob=1,Google=2,taobao=3,baidu=4)
print(dict3)
‘‘‘
#另外,字典類型也有一些內建的函數,例如clear()、keys()、value()等。
#注意:
#1.字典是一種映射類型,它的元素是索引值對。
#2.字典的關鍵字必須為不可變類型,且不能重複。
#3.建立空字典使用{}。
#Python資料類型轉換
資料轉換隻需要將資料類型作為函數名即可。
#以下幾個內建的函數可以執行資料類型之間的轉換。這些函數返回一個新的對象,表示轉換的值。
#int(x[,base]) #將x轉換為一個整數
#float(x) #將x轉換到一個浮點數
#complex(real[,imag]) #建立一個複數
#str(x) #將對象x轉換為字串
#repr(x) #將對象x轉換為運算式字串
#eval(str) #用來計算在字串中的有效Python運算式,並返回一個對象。
#tuple(s) #將序列s轉換為一個元組
#list(s) #將序列s轉換為一個列表
#set(s) #轉換為可變集合
#dict(d) #建立一個字典。d必須是一個序列(key,value)元組。
#frozenset(s) #轉換為不可變集合
#chr(x) #將一個整數轉換為一個字元
#unichr(x) #將一個整數轉換為Unicode字元
#ord(x) #將一個字元轉換為它的整數值
#hex(x) #將一個整數轉換為一個十六進位字串
#oct(x) #將一個整數轉換為一個八進位字串
‘‘‘
"""
#注釋:
#1.單行注釋符#
#2.多行注釋符:單引號(‘‘‘)、雙引號(\""")。
"""


Python學習1,Python的六大資料類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.