1. 程式人生 > >Day 2

Day 2

logs http python程序 方法 gif string 先來 定義 最後一個元素

模塊

sys

import sys
print(sys.path) #輸出相對路徑

print(sys.argv) #輸出絕對路徑

os

import os os.system("ipconfig") #調用系統dos命令 要使用自己寫的模塊想在系統的何何一個地方都使用怎麽辦呢? 此時你就要把這個tab.py放到python全局環境變量目錄裏,用 print(sys.path) 可以查看python環境變量列表

Python的運行過程

在說這個問題之前,我們先來說兩個概念,PyCodeObject和pyc文件。

我們在硬盤上看到的pyc自然不必多說,而其實PyCodeObject則是Python編譯器真正編譯成的結果。我們先簡單知道就可以了,繼續向下看。

當python程序運行時,編譯的結果則是保存在位於內存中的PyCodeObject中,當Python程序運行結束時,Python解釋器則將PyCodeObject寫回到pyc文件中。

當python程序第二次運行時,首先程序會在硬盤中尋找pyc文件,如果找到,則直接載入,否則就重復上面的過程。

所以我們應該這樣來定位PyCodeObject和pyc文件,我們說pyc文件其實是PyCodeObject的一種持久化保存方式。

數據運算  

算數運算:

技術分享圖片

比較運算:

技術分享圖片

賦值運算:

技術分享圖片

邏輯運算:

技術分享圖片

成員運算:

技術分享圖片

身份運算:

技術分享圖片

位運算:

技術分享圖片

技術分享圖片
#!/usr/bin/python
  
a = 60            #
60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 #與 c = a | b; # 61 = 0011 1101 #或 c = a ^ b; # 49 = 0011 0001 #相同為0,不同為1 #異或 c = ~a; # -61 = 1100 0011 #取反 c = a << 2; # 240 = 1111 0000 #左移 ,變大 c = a >> 2; #
15 = 0000 1111 #左移 變小
二進制實例

運算符優先級:

技術分享圖片

三元運算

result = 1 if 條件 else 2 如果條件為真:result = 值1
如果條件為假:result = 值2 eg: a,b=2,3 c=a if a>b else c=b print(c) c=3

1. 列表、元組操作

列表是我們最以後最常用的數據類型之一,通過列表可以對數據實現最方便的存儲、修改等操作

定義列表

names = [‘aaa‘,"bbb",‘ccc‘,‘1‘,‘2‘] 通過下標訪問列表中的元素,下標從0開始計數
>>> names[0]
aaa
>>> names[2]
ccc
>>> names[-1]
2
>>> names[-2] #倒著取
1

切片

>>> names = ["aaa","bbb","ccc","ddd","eee"]
>>> names[1:3]  #取下標1至下標3之間的數字,包括1,不包括3
["bbb","ccc"]
>>> names[1:-1] #取下標1至-1的值,不包括-1
["aaa","bbb","ccc","ddd"]
>>> names[0:3] 
["aaa","bbb","ccc"]
>>> names[:3] #如果是從頭開始取,0可以忽略
["aaa","bbb","ccc"]
>>> names[3:] #如果想取最後一個,必須不能寫-1,只能這麽寫
["ddd","eee"]
>>> names[3:-1] #這樣-1就不會被包含了
["ddd"]
>>> names[0::2] #後面的2是代表,每隔一個元素,就取一個
 ["aaa","ccc","eee"]
>>> names[::2] #和上句一樣
 ["aaa","ccc","eee"]

追加

>>> names
names = ["aaa","bbb","ccc","ddd","eee"]
>>> names.append("通過追加方法加入的") #默認是追加到最後
>>> names
["aaa","bbb","ccc","ddd","eee","通過追加方法加入的"]

刪除

names = ["aaa","bbb","ccc","ddd","eee"]
del names #刪除整個列表
del names[0] #刪除下標為0的元素
names.pop()  #默認刪除最後一個元素
names.pop(aaa) #刪除指定元素
names.renove("bbb") #刪除指定元素

插入

names = ["aaa","bbb","ccc","ddd","eee"]
names[2]=1
print(names)
names = ["aaa","bbb",1,"ddd","eee"]
修改
names.insert(插入的) #默認加入最後一個
names.nisert(0,"強制插入第一個") #從指定位置插入


 

Day 2