Python數據類型


數據類型

  • number(int,float,bool,complex)
  • string
  • tuple 元組
  • list 列表
  • set 集合
  • dict 字典

number

a = 1    #int
a= 1.2    #float

#bool
a = True  #True=1,False=0
print(int(a),type(a))

x=43
ch='A'  #A=64,b=98  
y=1
print(x>y and ch<'b' and y)
#結果:1

#實數和虛數
a = complex(5.6,8)  
a = 1.2 + 3.4j
print(a,type(a))
print(a.real)  #獲取實數部分
print(a.imag)  #獲取虛數部分

#1.把一個值賦值給多個變量
a=b=c=1
print(a,b,c)
#2.把多個值賦值給多個變量
a,b,c=1.2,3,True
print(a,b,c)

string

#str(用單引號或者雙引號括起來的字符)
s="helloworld"
print(s,type(s))
	
#字符串的取值和切片,取前不取后
print(s[0],s[1],s[-1],s[-2],s[2:4],s[2:],s[:6],s[3:-3])
#結果:h e d l ll lloworld hellow lowo

#字符串相關方法
s="Hello,World"
print(s.upper())  #大寫
print(s.lower())  #小寫
print(s.capitalize())  #首字母大寫
print(s.split(","))  #通過字符切割字符串
print(s.replace("W","S"))  #替換字符串 
print(s.count("o"))  #計算一個字符出現的次數

#內置函數方法
print(s,type(s),max(s),min(s),len(s),chr(97),ord('a'))

#字符串的運算
ss="www"
sss=123
print(s+ss)  #拼接(只能相同數據類型拼接)
print(ss+sss)  #報錯。數據類型不同
print(s*2)  #出現N次

#字符串的格式化
print("hello world%s"%"www")  #%s是字符串占位符
print("hello world%10s"%"www")  #占10個字符的位置,多出來用空格填充
print("hello world%d"%123)  #%d是數字占位符

# import time
print("hello world%s"%time.time())  

tuple元組

1、特點:是不能被更改,使用()定義

tup = (82,42,60,32,6,19,42)
tup1 = (100,200)  

2、打印、取值、切片

#打印和取值:
print(tup,type(tup),max(tup),min(tup),len(tup))

#切片:
print(tup[0],tup[1],tup[-1],tup[-2],tup[2:4],tup[2:],tup[:4],tup[2,-2])

3、與元組相關的方法

#判斷一個元素在元組中出現的次數
tup.count(42)

#判斷一個元素在元組中第一次出現的下標
tup.index(42)

4、元組的運算

print(tup+tup1)
print(tup*2)

list列表

1、特點:有序的,使用[]定義

lis=[82,42,60,32,6]
lis2=[100,200,32]

2、打印、取值、切片(和str一樣)

#打印和取值:
print(lis,type(lis),max(lis),min(lis),len(lis))

#切片:
print(lis[0],lis[1],lis[-1],lis[-2],lis[2:4],lis[2:],lis[:4],lis[2:-3])

3、與list相關的方法

#在list尾部追加一個元素
lis.append(100);print(lis)
#在下標為3的位置插入一個元素
lis.insert(3,200);print(lis)

#根據下標刪除
lis.pop(2);print(lis)
#根據值刪除
lis.remove(60);print(lis)

#從小到大排列
lis.sort();print(lis)
#反轉
lis.reverse;print(lis)

#獲得一個元素出現的次數
print(lis.count(42))
#獲得一個元素第1次出現的下標
print(lis.index(42))

#清空
lis.clear();print(lis)
#復制
ls=lis.copy;print(ls)
#繼承
lis.extend(lis2);print(lis)
#結果:[82, 42, 60, 32, 6, 100, 200, 32]

4、運算

print(lis+lis2)
print(lis2*2)

set集合

1、特點:無序的,不可重復,使用{}定義

se = {82,42,60,32,6,19,42}
se1 = {100,200}
s = set()  #創建空的集合
#不能用s={},使用s={}是創建空的字典

2、打印、取值、切片

#打印:
print(se,type(se))

#取值和切片:NO

3、與set相關的方法

#根據值增加
se.add(100);print(se)    
#根據值刪除
se.remove(63);print(se)    

#復制
new_se=se.copy();print(new_se)   
#清空
se.clear();print(se)   
#修改(繼承)
se.update(sel);print(se)    

4、運算

  • se&se1 交集
  • se|se1 並集
  • se-se1 減集
  • se^se1 異或

dict字典

1、特點和定義
特點:保存的是鍵值對。鍵不能重復,值可以重復。使用{}定義。

#定義:
dic = {"a":"路飛","b":"艾斯","c":"薩博"}

注意:列表list不能作為鍵

2、打印和切片

#打印:
print(dic,type(dic),max(dic),min(dic),len(dic))

#切片:NO
#但是可以通過鍵來增、刪、改、查(取值)
dic["a"]="喬巴"
del dic[10];
dic[5]="卡普"
print(dic[30])

kvps={'1':1,'2':2}
thecopy=kvps
kvps['1']=5
sum=kvps['1']+thecopy['1']
print(sum)
#結果:10
#分析:kvps和thecopy兩個變量指向內存中棧的地址

3、與dict相關的方法。

dic={10:"鳴人",5:"佐助","a":"w"}
dic2={"a":"b"}

#獲得所有的key
ls=dic.keys();print(ls)
#獲得所有的value
ls=dic.values;print(ls)
#通過key獲取值
ls=dic.get(10);print(ls)

#清空
dic.clear();print(dic)
#復制
ls=dic.copy();print(ls)
#修改或繼承
dic.update(dic2);print(dic)

#通過鍵刪除
ls=[1,2,3]
#把所有的鍵統一成一個值
w=dic.fromkeys(ls,"www");print(w)

內置函數

type():查看數據類型
print();max();min();len();chr();ord();
int();float();str();tuple();list();set();dict();

數據類型轉換

1.自動轉換

print(1+True);

2.強制轉換

d=(12,4412,51,251,251)
d=list(tuple(set(d)))
print(d)

Python中的輸入和輸出

1、輸入:input("說明")

#任意的輸入5個數字,按從大到小排序
inp1=input("請輸入第一個數字:")
inp2=input("請輸入第二個數字:")
inp3=input("請輸入第三個數字:")
inp4=input("請輸入第四個數字:")
inp5=input("請輸入第五個數字:")
lis=[inp1,inp2,inp3,inp4,inp5]
lis.sort()
lis.reverse()
print(lis)

2、輸出:print("內容")

print("hello world%s"%"www")
print("hello world{}".format([1,2,3]))
print("hello{1} world{0}".format("www","sss"))
print("hello{name} world{age}".format(name="zhangsan",age=18))

lis=["apple","balana","orange"]
w="_".join(lis)
print(w)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM