【python】python基礎--數據類型


簡單總結下這些基礎的輸人、輸出、數據類型等等,具體的還是要在平時練習中多多練習

一、變量

變量就是內存地址的名字

格式:變量名=值

用完也可把變量刪除

name={} # 變量初始化
name="小王"
print(name) # 輸出名字
del(name) # 刪除變量
print(name) # 現在打印這行就會報錯,因爲變量已經被刪了

二、輸入、輸出

輸入:input()
輸出:print()

標識符命名規則:
由數字、字母、下劃線組成
不能數字開頭
不能使用內置關鍵字
嚴格區分大小寫

三、數據類型

在這裏插入圖片描述

1、數字和運算符

數字:整數 int、浮點數float、複數complex

a=2
b=3.3
c=1+2j
print(type(a)) # 使用type獲取數據類型
print(type(b))
print(type(c))

運行如下:
在這裏插入圖片描述
運算符

  • 算數運算符 + - * / % **(冪) //(取整)
a=5
b=2
print(a+b,a-b,a*b,a/b) #7 3 10 2.5
print(a%b) # 1
print(b**5) # 25次方 print(b*b*b*b*b*b)  結果爲32
print(a//b) # 2
  • 複合運算符 : += 、-= 、*= 、 /= 、%= 、**= 、 //=
  • 賦值運算符 兩個’= ='用來判斷相等
c=2
d=3
print(c==d) # 輸出 False
print(c>=d) # 輸出 False
print(c<d)  # 輸出True
print(c!=d) # 輸出 True
  • 位運算符 :%、 & 、|

2、字符串

可以用單引號、雙引號或三引號來創建字符串

2.1字符串運算

  • 字符串連接
  • 字符串重複
  • 獲取字符串中的字符:用索引(下標)
str1="你真的是一個傻子噢。"
str2="你纔是!"
#字符串連接
print(str1+str2) # 你真的是一個傻子噢。你纔是!
# 字符串重複
print(str2+str2+str2) # 你纔是!你纔是!你纔是!
print(str2*5) #輸出5次: 你纔是!你纔是!你纔是!你纔是!你纔是!
 獲取字符串中的字符:
print(str1[6]) # 傻
  • 截取字符串

1、截取字符串 範圍爲 [) ,str[start:end]就是在str中 截取第start到第end之間
2、start/end自己定義索引爲多少,
3、start不寫默認爲0,end不寫默認爲最後
4、支持復索引,最後一個爲-1,依次向前是-2,-3…

str="abcdefg"
start=2
end=5
print(str[start:end])  # cde
print(str[:end])  # abcde
print(str[start:]) # cdefg
print(str[start:-1]) # cdef

2.2格式化字符串

這樣麻煩,而且必須是同一類型纔可
# age='15'
# sex='男'
# print("我"+age+"性別"+sex) 

格式化

age=15
sex='男'
print("我%d,性別%s" %(age,sex)) # %(age,sex)如果是一個參數寫不寫都ok

2.3 轉義字符串

\ ’ ‘’ \n \t(製表符,就是tab鍵)
注:引號前面加r說明裏面的字符不做轉義字符

age=15
sex='男'
print("我%d\n性別%s" %(age,sex))
print(r"我%d\n性別%s" %(age,sex))

運行截圖如下:
在這裏插入圖片描述

3、列表

列表是一個有序序列,序列中的每個元素都分配一個數字(位置,索引),可以用[],{}創建列表可直接將序列放在list()中
具體操作舉栗子:

# 創建列表
l1={1,2,3,4}
l2=[5,6,7,8]
l3=list('123445678')
l4=list("12345678")
l5=list("你好8")
# 打印
print(l1,l2)
print(l4)
print("l3[4]=",l3[4])
print('l5[2]=',l5[2]) #用索引訪問列表中元素
print('l4[0]~l4[4]=',l4[0:4]) #截取
# 通過索引修改
l4[0]='asdfg' 
print(l4)
del(l4[7]) # 刪除
print(l4)

運行結果:
在這裏插入圖片描述
常用方法:

方法 含義
append 追加
extend 擴展
insert 插入
pop 彈出(列表中相當於數據結構中刪除堆頂元素)
remove 移除指定的元素
clear 清空
index 查詢索引
reverse 反轉
sort 排序

eg:

l1=[1,2,3]
l2=[7,8,9]
l1.append(4)
print(l1) # [1, 2, 3, 4]
l1.append(l2)
print(l1) # [1, 2, 3, 4, [7, 8, 9]]
l1.extend(l2)
print(l1) # [1, 2, 3, 4, 7, 8, 9]
l1.pop() #相當於數據結構中刪除堆頂元素
print(l1) # [1, 2, 3, 4, [7, 8, 9], 7, 8]

4、元祖

元祖與列表類似,用()來創建元祖,可以直接將序列放在tuple()中

t1=(1,2,3,4)
t2=tuple("7890")
print(t1) # (1, 2, 3, 4)
print(t2) # ('7', '8', '9', '0')
print(t1[0]) # 1 # 訪問元祖中的數據

元祖常用操作與列表基本相同,但元祖中的元素不能被修改和刪除,而列表可以
元祖常用方法:與列表相似

方法 含義
len 獲取長度
max 獲取元祖中最大值
min 獲取元祖最小值

元祖與列表的轉化

l1=[1,2,3,4]
t3=tuple(l1)
print(t3) # 列表轉元祖:(1, 2, 3, 4)
l2=list(t3)
print(l2) # 元祖轉列表:[1, 2, 3, 4]

5、字典

是一種可變容器模型,可存儲任意類型對象
以鍵值對存儲數據key-value形式,在{}中

  • 創建、訪問數據(根據key訪問)
# 創建
d={'name': '小王', 'age' : '18' , 'sex' : '女'} # 注意格式
print(d)  # {'name': '小王', 'age': '18', 'sex': '女'}
# 訪問
print(d['name'])  # 小王
print(d.get('name'))  # 小王

注:
用get訪問,如果key不存在,會返回None(空)
用[]訪問,key必須是存在的,如果不存在程序運行異常

方法 含義
keys 獲取所有的key
values 獲取所有值
pop 根據鍵彈出
popitem 彈出最後一組鍵值對
update 鍵值對
clear 清除數據
  • 獲取key、value、鍵值對
#獲取所有的key
print(d.keys())  # 打印:dict_keys(['name', 'age', 'sex'])
#獲取所有的value
print(d.values())  # 打印:dict_values(['小王', '18', '女'])
#獲取所有鍵值對
print(d.items())  # 打印:dict_items([('name', '小王'), ('age', '18'), ('sex', '女')])
  • 添加、修改、刪除、pop、popitem操作

pop 打印出key對應的value後,字典中的key-value也被刪除
popitem是打印最後一個key-value值,然後key-value被刪除

# 添加
d['school']='西安' 
print(d)  # {'name': '小王', 'age': '18', 'sex': '女', 'school': '西安'}
# 修改
d['name']='李'
print(d)  # {'name': '李', 'age': '18', 'sex': '女', 'school': '西安'}
# 刪除
del d['age']
print(d) # {'name': '李', 'sex': '女', 'school': '西安'}
# pop 打印出key對應的value後,字典中的key-value也被刪除
#popitem是打印最後一個key-value值,然後key-value被刪除
print(d.pop('name')) # 李
print(d) # {'age': '18', 'sex': '女'}
print(d.popitem()) # ('school', '西安')
print(d) # { 'sex': '女'}

注:
key是不能修改不能重複的,它與value是一個映射關係,所以key存在就是修改操作,不存在就是添加操作,那剛剛前面提到過的列表與元祖,元祖就可以作爲key,因爲它的元素不能被修改和刪除,如果列表作爲key就間接修改了key,則會報錯

6、集合

用來存儲一個無序不重複的元素序列,標識符爲{},中間元素用 , 隔開

  • 創建
s={"123","456","789"} #創建
print(s)  #打印順序不一定,因爲他是無序的
s2=set("abcd") # 創建
print(s2)
####################################################
s3=set() # 可創建空的
print(s3)
s4=set("12341234") # 裏面有重複的元素
print(s4)

  • 可創建空的
  • 如果創建的時候集合中元素重複,那打印生成時就沒有重複元素了
    集合之間的操作

差集 - (分前後)、 交集 & 、並集 |

方法 含義
add 添加元素
remove 移除指定的元素
pop 隨機移除元素
union 返回兩個集合的並集
difference 返回兩個集合的差集
intersection 返回集合的交集
symmetric_difference 返回兩個集合中不重複元素的集合

如果添加的元素存在了,不會報錯,但元素也不會被加進來

7、布爾與空值

空值:通常作爲默認值或佔位值來使用

a=None
print(a)  # None

布爾:存一個真(True)或假(False)的數值
布爾值轉換:

  • 布爾值可以轉換爲int、str
  • 空值、int、str、list、tuple、dict、set可以轉換爲布爾
  • 字符串爲空字符串(什麼內容也沒有)時,轉換爲布爾值爲False

補充
邏輯運算符:邏輯與、或、非: and or not

b1=True
b2=not b1
print(b2)  # False
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章