1. 程式人生 > >python3的 基礎

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))