python語法之基礎數據類型

1、整型python

一、用途:通常用於定義整數,如:年齡,身份證號,qq號碼等git

二、定義方式:age = 18   ---->age = int( 18 )app

三、內置經常使用方法 (用於數學計算與比較運算)spa

3.1 進制的轉換code

3.1.1  其餘進制轉換10進制

二------->十: (0,1110   1*(2**2)+ 1*(2**1) +0*(2**0)=4+2+0=6

         print(int ( ' 110 ' ,2 ) )

 

八------->十: (0-7123   1*(8**2)+ 2*(8**1) +3*(8**0)=64+16+3=83

         print(int ( ' 123 ' ,8 ) )

 

十六------->十: (0-9,a-f )

321   3*(16**2)+ 2*(16**1) +1*(16**0)=768+32+1=801

         print(int ( ' 321 ' ,16 ) )

 

3.1.2  10進制轉換其餘進制(0-9)

十------->二:  print(bin (108 ) ) ------->0b1101100

十------->八:   print(oct ( 83 ) )------->O0123

十------->十六:   print(hex ( 1000 ) )------->Ox3e8

四、總結orm

一、(有索引的類型都是有序的)對象

二、不可變blog

三、存一個值索引

 

2、浮點型隊列

一、用途:用於記錄小數,身高,體重,薪資等

二、定義方式:height = 1.0 ----> height = float(1.0)

三、內置經常使用方法

 s1 = '1.0'
 f1 = float(s1)
 print(f1)       # 1.0
 print(type(f1))   # float
 a1 = int(f1)
 print(a1)    # 1

四、總結

一、無序

二、不可變類型

二、只能存一個值

 

3、字符串

一、用途:用於存儲一些描述性信息,名字等

二、定義方式

 第一種:
s1 = '大象'

第二種:
 s2 = "大象2"

 第三種:

s3 = '''大象3'''

s4 = """大象4"""

print(s1,s2,s3,s4)

# 以上三種方式沒有任何區別,可是不能混用

s5 = '你今天"吃飯"了嗎'

# 補充:字符串前面加一個小寫的r,表明轉義

三、內置經常使用方法

  1 1、索引取值(正向取、反向取),只能取不能存
  2 
  3 s1 = 'hello world'
  4 
  5 print(s1[4])  # 正向取
  6 print(s1[-7]) # 反向取
  7 
  8 2、索引切片  : 截取字符串中的一小段字符串
  9 
 10  print(s1[2:5])
 11  print(s1[4:])
 12  print(s1[:5])
 13  print(s1[0:-2:2])
 14  print(s1[::-1])
 15 
 16 三、成員運算:in  not in
 17 
 18 print("o" not in s1)
 19 
 20 4、strip :去除字符串左右兩邊的空格,中間不算
 21  input不管接受的是什麼類型,必定返回的是字符串
 22 
 23  name = input(">>:").strip()
 24  print(len(name))
 25 
 26  a1 = '$$$$sean$$$'
 27  print(a1.strip("$"))
 28 
 29 5、split : 切分: 對字符串進行切分,能夠指定切分的分隔符,返回是一個列表
 30 
 31  a1 = 'sean 18 male'
 32 
 33 print(a1.split())
 34 
 35 6、len() :獲取當前數據中的元素的個數
 36 
 37 a1 = 'hello'
 38 
 39 print(a1)
 40 
 41 #for循環
 42 a1 = 'hello'
 43 for i in a1:
 44      print(i)
 45 
 46 #須要掌握知識點:
 47 strip,rstrip,lstrip
 48 
 49 inp = input(">>:").lstrip("*")
 50 print(inp)
 51 print(len(inp))
 52 
 53 
 54 # lower\upper
 55 s1 = 'Hello world'
 56 print(s1.upper())
 57 print(s1.lower())
 58 
 59 
 60 # startswith\endswith  : 判斷當前字符串是否以。。。開頭,或者以。。結尾,返回的必定是布爾值
 61 print(s1.startswith("He"))
 62 
 63 print(s1.endswith('ld'))
 64 
 65 .format()
 66 你的名字是:sean,你的年齡是:18
 67 
 68 name = 'sean'
 69 age = 19
 70 
 71 print("你的名字是:",name,"你的年齡是,",age)
 72 
 73 print("你的名字是:{},你的年齡是:{}".format(name,age))
 74 
 75 print("你的名字是:{1},你的年齡是:{0}".format(name,age))
 76 
 77 print("你的名字是:{name},你的年齡是:{age},{gender}".format(age=age,name=name,gender='male'))
 78 
 79 # f-string:
 80 # 經過大括號接收變量,在字符串前面必定要加一個小寫f,,,,在python3.6之後纔有
 81 print(f"你的名字是:{name},你的年齡是:{age}")
 82 
 83 # split\rsplit
 84 s1 = "name,age,gender"
 85 print(s1.split(",",1))  # 能夠指定切分的次數
 86 
 87 # join : 將(列表)中每一個元素按照前面字符串中的分隔符進行拼接
 88 l1 = ['sean','18','male']
 89 print("|".join(l1))
 90 
 91 # replace:將字符串中的元素進行替換,參數,先老值,再新值
 92 s1 = 'sean,18'
 93 print(s1.replace("sean",'大象'))
 94 
 95 
 96 # isdigit() : 判斷當前字符串中的數據,是不是一個數字,返回布爾值
 97 
 98 score = input("please input your score:")
 99 if score.isdigit():
100     score = int(score)
101      if score >= 90:
102          print('優秀')
103 else:
104      print("你tmd能不能好好輸")

四、總結

一、有序

二、不可變類型

二、只能存一個值

 

4、列表

一、用途:用於存一個或者多個不一樣類型的值

二、定義方式:經過花括號存值,每一個值之間經過逗號進行分隔

三、內置經常使用方法

# 一、索引取值(正反均可以),不只能夠取還能夠存
l1 = [1, 2, 3, 4, 5]
print(l1[2])  # 3
# l1[2] = 222
# print(l1)  # [1, 2, 222, 4, 5]

#二、索引切片 print(l1[1:4]) # [2, 3, 4]

#三、append() 追加 只能添加到列表的最後一位,一次性只能添加一個值 l1.append(1000) print(l1) l1.append([9, 8]) print(l1)
#四、insert() 插入值,經過索引指定插入的位置 l1.insert(3, 888) print(l1)
#五、extend() 將插入的可迭代對象分別插入 l1.extend([33, 44, 55]) print(l1)
#六、reomve() 指定值刪除,比較完全,()中直接放值 l1.remove(1) print(l1) l1.remove([9, 8]) print(l1)
#七、pop() 不傳值,默認從最後開始刪,指定索引刪值,pop是有返回值的 val = l1.pop() print(val)

 

四、隊列:先進先出

      堆棧:先進後出

#隊列

# l = []
# l.append(1)
# l.append(2)
# l.append(3)
# print(l)
# #[1, 2, 3]
# l.pop(0)
# print(l)
# #[2, 3]
# l.pop(0)
# print(l)
# #[3]
# l.pop(0)
# print(l)
# #[]
#堆棧

l = []
l.append(1)
l.append(2)
l.append(3)
print(l)
#[1, 2, 3]
l.pop()
print(l)
#[1, 2]
l.pop()
print(l)
#[1]
l.pop()
print(l)
#[]

 

 

#深淺copy

import copy
l1 = [257, 'a', [4, 5, 6]]
print(l1)
print(id(l1))
# print(id(l1[0]))
l2 = copy.deepcopy(l1)  # [1, 'a', [4, 5, 6]]
l2[2][0] = 4444
print(l2)
print(id(l2))
print("l1:", l1)
print("id_l1:", id(l1))

 

五、總結

一、有序

二、可變類型

二、存多個值

 

5、元祖 tuple

一、用途:用於存多個不一樣類型的值,不能存可變類型(列表)

二、定義方式:經過小括號存數據,數據之間用逗號分隔,值不可變,有索引。

                       #若容器裏只有一個值,值的後面要加上逗號,不然返回字符串。

三、經常使用方法

#索引取值(正,反)
t = ('a','b','c','d')
print(t[0])   #a
print(t[-1])  #d

#索引切片
print(t[0:2])   #('a', 'b')

#in/ not in
print('a' in t)  #True

#len()
print(len(t))  #4

#for
for i in t:
    print(i)
# a
# b
# c
# d

四、總結

一、有序

二、不可變類型

二、存多個值

 

6、字典 dict

一、用途:用於存多個不一樣類型的值,不能存可變類型(列表)

二、定義方式:經過花括號存數據,經過key:value來定義鍵值對數據,每一個鍵值對中間用逗號分隔。

                      #key在定義時必須是不可變類型,value能夠是任意類型。

三種定義方式:

#  第一種
d1 = {'name':'nick', 'age':18}

#  第二種
d2 = dict('name':'nick', 'age':18)

#  第三種 zip
l1 = ['name','age']
l2 = ['nick',18]
z1 = zip(l1,l2)
print(dict(z1))  #{'name': 'nick', 'age': 18}

三、方法

# 按照key:value映射關係取值(可存可取)

d1 = {'name': 'nick', 'age': 18}
# print(d1['name'])  #nick 取值

# d1['name'] = 'bonny'
# print(d1)   # {'name': 'bonny', 'age': 18}   改值

# d1['gender'] = 'male'
# print(d1)   # {'name': 'nick', 'age': 18, 'gender': 'male'}   添值

# in/ not in  默認判斷key
print('name' in d1)  # True

#len() 獲取鍵值對的個數
print(len(d1))  #2

內置方法

# get() 獲取key的值,若值不在,默認返回none

d1 = {'name': 'nick', 'age': 18}

# a= d1.get('xxx',123)  #key不存在,能夠設置默認返回值
# print(a)   #123

print(d1.get('age'))  # 18
print(d1.get('gender'))  # None

#keys / values / items
print(d1.keys())   # ['name', 'age']  返回列表
print(d1.values())   # ['nick', 18]   返回列表
print(d1.items())   # [('name', 'nick'), ('age', 18)]  返回列表套元祖,每個item都是存在元祖

for key in d1:
    print(key)    
#name         #默認遍歷的是字典的key
#age  

for key in d1.keys():
    print(key)
#name
#age

for value in d1.values():
    print(value)
#nick
#18

for item in d1.items():
    print(item)
#('name', 'nick')
#('age', 18)

#pop 指定key刪,有返回值,值爲對應value
d1 = {'name': 'nick', 'age': 18}
a= d1.pop('name')
print(d1)  # {'age': 18}
print(a)  # nick

#popitem() 隨機刪一組item,有返回值,值是元祖
d1.popitem()
print(d1)

#update() 用新字典替換舊字典,有則修改,無則添加
d1.update({'name':'peter'})
print(d1)   # {'name': 'peter', 'age': 18}  修改

d1.update({'b': 1})
print(d1)     #{'name': 'nick', 'age': 18, 'b': 1} 添加

#fromkeys()  生成一個新字典
d2 = {}
d2 = d2.fromkeys([1, 2, 3], 'e')
print(d2)   # {1: 'e', 2: 'e', 3: 'e'} 


#setdefault() key不存在時新增item,有返回值,返回新增value,key存在,返回對應value
d1 = {'name': 'nick', 'age': 18}
d3 = d1.setdefault('d', 999)
print(d3)    # 999
print(d1)   # {'name': 'nick', 'age': 18, 'd': 999}  key不存在時新增item有返回值

d4 = d1.setdefault('name', 888)   #key存在,返回對應value
print(d4)  #nick

四、總結

無序

可變類型

存多個值

 

 

7、集合 set

一、用途:去重、關係運算

二、定義方式:經過大括號存儲數據,每一個元素經過逗號分隔.

                        定義空集合,必須使用set()來定義

                       

# l1 = []
# s1 = ""
# d1 = {}
# ss1 = set()    # 定義空集合

frozenset() 不可變集合

三、經常使用方法

s1 = {'a', 'b', 'c', 'd', 'e', 'e'}
s2 = {'c', 'b', 'f', 'd', 'g'}

print(s1) #{'a', 'c', 'b', 'd', 'e'} 去重

print(s1 | s2)  #{'c', 'g', 'a', 'b', 'e', 'd', 'f'} 合集

print(s2 & s1)  #{'d', 'b', 'c'}  交集

print(s1 - s2)  #{'a', 'e'}  差集

print(s2 - s1)  #{'g', 'f'}  差集

print(s1 ^ s2)  #{'g', 'f', 'e', 'a'} 對稱差集

print(s1 > s2)  #False

print(s2 > s1)  #Fals

 

四、總結

無序

可變

存多個值

 

8、總結

存一個值:整型、浮點型、字符串
存多個值:列表、元組、字典、集合


可變or不可變:
可變: 列表,字典
不可變:整型、浮點型、字符串、元組、集合

有序or無序:
有序:字符串、列表、元組
無序:字典、集合

佔用空間: 字典 列表 元組 集合 字符串 數字類型

相關文章
相關標籤/搜索