python3的 基礎
# 面試題 把一個列表 排序 去重
lst = [1,2,3,4,12,3,4]
print(list(set(lst)))
# 面試題:
# a = 10
# b = 20
# a,b = b,a # 10000%
# print(b) # 10
# print(a) # 20
# 面試題:
# print(lst)
# n = ()#元組
# print(type(n))
# n = ('')#字串
# print(type(n))
# n = ('',)#元組元組
# print(type(n))
# n = ('',2)#元組
面試題:
# print(range(0,10)) # python3 中range(0, 10) 是一個可迭代物件 print(range(0,10))#3.6版本的是它的原始態 3.5的xrange 也是原生態的,3.5的就不是
python2 與py]thon3 的區別
Python2 原始碼不統一 重複程式碼
python2 print 輸出是不需要加括號的 input輸出的是什麼型別 就是什麼型別
python3 print是需要加括號的 input 輸出的都是字串
翻譯型 比如jiava c++ 開發效率慢 執行速度快
解釋型 開發效率開 執行速度慢
變數
1.必須是 字母數字下劃線組成
2.不能以數字開頭
3.不能是關鍵字
4.不能太長
5不能是中文和拼音
6.區別大小寫
7.要具有描述性
寫法
大駝峰 單詞的首字母都是大寫
小駝峰 第一個單詞的首字元要小寫 其它的大寫
常量 就是 把變數大寫就可以了
初識編識
gbk 中國的 英文是用一個位元組 8 位 中文是倆個位元組 16位
ascii 一個位元組 表示一個字母 沒有中文 一共有256種
unicode 萬國碼 四個位元組 32位
utf-8 英文一個位元組 8位
歐洲倆個位元組 16位
亞洲三個位元組 32位
bit 位
bytes 位元組
1bytes = 8bit
1B = 8bit
1024B =1KB
1O24KB=1MB
1O24MB=1GB
1O24GB=1TB
If while 迴圈
格式化輸出
%s 站字元 %d 站整型 print(' {} {}' .formate ( 對應的內容)) print('{} {} {}'.format(name,age,hobil))
運算子
比較運算子
< >= == !=
邏輯運算子
or and not
算數運算子
- + %* /
賦值運算子
-= + = %= /=
成員運算子
in not in
資料型別
type 判斷是什麼型別
int (整型) 整數 str()強轉為字串 int-----bool bool(0) =False bool(其它數)=True
str (字串) int()強轉為整型 只有整數型的字串才可以 str---bool boo('') 和 bool()= False bool(有內容)=True
str 變為列表 變數名=' '.join(str)
tsr.upper() 全部大寫
str.lowr()全部小寫
str.capetalize()首字母大寫
str.replace(老的,新的,個數)替換元素
str.find('元素')查詢下標 沒有的話返回-1
str.index('元素'')查詢下標 沒有的話直接報錯
str.count(元素)統計出現多少次這個元素
str.split('內容') 與什麼分割
str.stirp()去一頭一尾的空格
bool(布林值)True False bool--int int(Ture) = 非零的數 int(Fals)=0
list (列表) 可以儲存大量的資料,是可變的 不可雜湊的,有增刪查改 soert 給列表排序的 預設升序 soert(resvere=True) 是降序 resvere 是倒敘 列表裡的要全部是 整型的元素 li.split 把列表轉化為字串
增:li=[]
li.append("元素'').這個是追加在後面的
li.insert(下標,內容)按下標插入
li .extend() 迭代新增 整型與bool值都是不可迭代新增的
li+li 自加 # lst = [1,2,3,4]
lst + lst
print(lst + lst)#執行的結果就為[1, 2, 3, 4, 1, 2, 3, 4]
print(5*lst)#所以這個的執行結果就為[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
刪:
del li 刪除整個列表
del li[] 可按下標刪除 可切片刪除
li.pop(下標) 有返回值按下標刪除 3.6 是預設刪除最後一個
li.clear0 清空整個列表
li.remove(元素) 按元素去刪除
查
按下標檢視
for 迴圈檢視
改
li[] = 改的元素 按索引改 還有按切片改
li[].replize 替換
ret = lst.index('高圓圓') # 通過內容查詢下標
# print(ret)
# print(lst.count('高圓圓')) # 計數
ret = lst.reverse() #翻轉
# print(ret) # 這是一操作,沒有返回的內容
lst.sort() # 排序 預設升序
# lst.sort(reverse=True) # 降序
tuple(元組) 不可變 的
tu=() tu('')括號裡只有一個引號的時候 引號裡邊有個內容 的是 str 目前其它的都是 元組
可查 有下標 按下標查詢
for 迴圈查詢
dict (字典) 有鍵值 keys(鍵,是不可變的) valnues(值,隨便什麼型別的都可以) items (鍵值對)
增
dic[鍵]=值 字典原有的鍵 那就 覆蓋 沒有的話就增加
dic.setefoude(鍵 ,值) 字典原有的話 就不新增 沒有的話 就新增到後邊
刪
dic.pop(鍵) 按鍵刪除
del dic 刪除整個字典
del dic[鍵] 按鍵刪除
dic.clera() 清空整個列表
改
dic[鍵] =值 按鍵改 直接覆蓋
# dic.popitem() # 隨機刪除 python3.6 刪除最後一個 3.5 中隨機刪除:
dic1 = {'33':'jj','44':'TT'}
dic2 = {'33':'gg','66':'pp'}
# dic1.update(dic2)
# dic2.update(dic1)
# 更新 被更新的內容如果在 要更新的內容中那值就會被覆蓋
# 兩個字典中,都沒有一樣的就是合併
# dic2['33'] = 'tsp' #是字典中沒有的時候才叫增,如果字典中這個鍵存在就叫做修改
# 查:
# dic2 = {'33':'gg','66':'pp'}
# print(dic2[2]) # 通過鍵查詢 如果鍵不存在就報錯
# print(dic2.get(2)) # 通過鍵查詢 如果鍵不存在不會報錯,返回None
# print(dic2.setdefault('33')) # 不存在返回None
set (集合) 無序的 沒有下標 儲存資料的
增
se.add(內容) 增加的內容
刪
set.remove(元素)按元素刪除
set. clear
查
for 查
list ---tupe tuple(list)
tupe ---list list(tuple)
其它是不可以轉化為字典的 只能字典轉化為 list 並且還是鍵的
對於元組來說淺拷貝只是拷貝第一層 一起變化的
對於元組來說深拷貝是拷貝的記憶體地址是不一樣的 元素是共同的是一樣的 不一樣的的時候記憶體地址是不一樣的
enkode
dikoude
print('name:{} age:{} 愛好:{}'.format(name,age,hobil))