簡單總結下這些基礎的輸人、輸出、數據類型等等,具體的還是要在平時練習中多多練習
一、變量
變量就是內存地址的名字
格式:變量名=值
用完也可把變量刪除
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) # 2的5次方 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