Python 第2周 - Python基础-模块\数据运算
?
內容
?
一、模塊初識? Python 庫分兩種:標準庫(不需要安裝,直接導入就可以直接使用的庫)、第三方庫(必須安裝才能使用如django)。注意:編寫代碼時,模塊名字不要跟庫名字相同。系統自帶模塊簡單舉例:
?sys庫:
1、打印系統環境變量 sys.path:| 1 | import sys |
| 2 | print ("sys.path")? |
?輸出:
| ['D:\\python\\51CTO\\2day', ?'D:\\python\\51CTO', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs',? 'C:\\Python27\\lib',? 'C:\\Python27\\lib\\plat-win',? 'C:\\Python27\\lib\\lib-tk',? 'C:\\Python27',? 'C:\\Python27\\lib\\site-packages'] |
?Python的第三方庫會存放在site-packages目錄下。
? ?2、sys.argv 執行腳本時獲取傳遞的參數:
| 1 | #!/usr/bin/env python |
| 2 | #--*-- coding:utf-8 --*-- |
| 3 | ?import sys |
| 4 | ?print (sys.argv[3]) #取列表中的第三個數 |
?輸出:
?執行腳本:
# python sys_argv.py chen chang qing?qing
os庫:
?1、調用系統命令os.system("dir")
| import os |
| print (os.system("dir")) |
# 執行命令,結果直接輸出,不保存結果。結果出亂碼
?2、使用另外一個模塊調取使用:os.popen
| 1 | import os |
| 2 | cmd_res = os.popen("dir").read() # os.popen會把讀取的信息寫到內存里面,read()重新把內存里面的信息讀取出來 |
| 3 | print (cmd_res) |
| ? | ? |
?pycharm 輸出結果,中文不顯示亂碼了。
3、os.mkdir 模塊
| import os |
| os.mkdir("new_dir_test") #會在當前的目錄下,創建一個新目錄 |
自己寫個簡單模塊:
簡單的login登陸判斷,模塊如下:
#vim login.py?
#Author:ChenChangQing
_username = "chen"
_password = "chen123" username = input("name:") password = input("passwd:") if username == _username and password == _password: print (username,password) else: print ("IT's error!")輸出:
name:chen passwd:chen123 chen chen123導入login.py
#vim login1.py? (注意,與login.py同級目錄下導入login模塊)
?import login
?執行腳本:python login1.py?
?輸出:
name:chen passwd:123 IT's error!簡述Python的運行過程(摘錄)
兩個概念,PyCodeObject和pyc文件。
我們在硬盤上看到的pyc自然不必多說,而其實PyCodeObject則是Python編譯器真正編譯成的結果。我們先簡單知道就可以了,繼續向下看。
當python程序運行時,編譯的結果則是保存在位于內存中的PyCodeObject中,當Python程序運行結束時,Python解釋器則將PyCodeObject寫回到pyc文件中。
當python程序第二次運行時,首先程序會在硬盤中尋找pyc文件,如果找到,則直接載入,否則就重復上面的過程。
所以我們應該這樣來定位PyCodeObject和pyc文件,我們說pyc文件其實是PyCodeObject的一種持久化保存方式。
二、python 數據運算1 、Python 算術運算
舉例: 1 #Author:ChenChangQing 2 3 a = 10 4 b = 20 5 c = 3 6 7 #相加 + 8 d = a + b 9 print ("1 - d 的值為:",d) 10 11 #相減 - 12 d = b - a 13 print ("2 - d 的值為:",d) 14 15 #相乘 * 16 d = a*b 17 print ("3 - d 的值為:",d) 18 19 #相除 / 20 d = int(b/a) 21 print ("4 - d 的值為:",d) #取整數 22 print ("4 - d 的值為:",b/a) #直接打印浮點 23 24 #取余數 % 25 d = a % c 26 print ("5 - d 的值為:",d) 27 28 #冪次方 ** 29 d = c**3 30 print ("6 - d 的值為:",d) 31 32 #取整數 33 d = a//3 34 print ("7 - d 的值為:",d) 35 36 輸出 37 38 1 - d 的值為: 30 39 2 - d 的值為: 10 40 3 - d 的值為: 200 41 4 - d 的值為: 2 42 4 - d 的值為: 2.0 43 5 - d 的值為: 1 44 6 - d 的值為: 27 45 7 - d 的值為: 3 數字運算?2、Python 比較運算(關系型運算)
舉例:
1 a = 10 2 b = 20 3 4 #判斷a與b相等 5 if a == b: 6 print ("1 :a與b相等") 7 else: 8 print ("1 :a與b不相等") 9 10 #判斷a與b不相等 11 if a != b: 12 print ("2 :a與不相等") 13 else: 14 print ("2 :a與b相等") 15 16 #判斷a 大于 b 17 if a > b: 18 print ("3 :a大于b") 19 else: 20 print ("3 :a小于b") 21 22 #判斷a 小于 b 23 if a < b: 24 print ("4 :a小于b") 25 else: 26 print ("4 :a大于b") 27 28 #判斷a 大于等于 b 29 if a >= b: 30 print ("5 :a大于等于b") 31 else: 32 print ("5 :a小于b") 33 34 #判斷a 大于等于 b 35 if a >= b: 36 print ("6 :a大于等于b") 37 else: 38 print ("6 :a小于b") 39 40 #判斷a 小于等于 b 41 if a <= b: 42 print ("7 :a小于等于b") 43 else: 44 print ("7 :a大于b") 45 46 輸出: 47 1 :a與b不相等 48 2 :a與不相等 49 3 :a小于b 50 4 :a小于b 51 4 :a小于b 52 4 :a小于b 53 4 :a小于等于b 關系運算?3、Python 賦值運算
??
舉例:
1 #把ab值的和賦給C 2 a = 10 3 b = 20 4 c = 0 5 6 c = a + b 7 print ("1 - c 的值:" ,c) 8 9 #+=的用法 10 a = 10 11 b = 20 12 c = 0 13 14 c += a #等同于 c = c+a 15 print ("2 - c 的值:" ,c) 16 17 #-=的用戶 18 a = 10 19 b = 20 20 c = 30 21 22 c -= a #等同于 c = c - a 23 print ("3 - c 的值:" ,c) 24 25 #*= 的用法 26 a = 10 27 b = 20 28 c = 3 29 30 c *= a #等同于 c = c * a 31 print ("4 - c 的值:" ,c) 32 33 #/= 的用法 34 a = 10 35 b = 20 36 c = 5 37 38 c /= a #等同于 c = c / a 39 print ("5 - c 的值:" ,c) 40 41 42 #%= 的用法 43 a = 10 44 b = 20 45 c = 3 46 47 c %= a #等同于 c = c % a 48 print ("6 - c 的值:" ,c) 49 50 #**= 的用法 51 a = 10 52 b = 20 53 c = 2 54 55 c **= a #等同于 c = c**a 56 print ("7 - c 的值:" ,c) 57 58 #//= 的用法 59 a = 10 60 b = 20 61 c = 50 62 63 c //= a #等同于 c = c//a 64 print ("8 - c 的值:" ,c) 65 66 輸出: 67 1 - c 的值: 30 68 2 - c 的值: 10 69 3 - c 的值: 20 70 4 - c 的值: 30 71 5 - c 的值: 0.5 72 6 - c 的值: 3 73 7 - c 的值: 1024 74 8 - c 的值: 5 賦值運算?4、Python 邏輯運算
舉例:
邏輯運算 1 #Author:ChenChangQing 2 3 a = 10 4 b = 20 5 c = 0 6 7 if a and b: #a與b的數值其中有一個為0,則為假 8 print ("1:a為真,b為真,則為真") 9 else: 10 print ("1:否則為假") 11 12 if a or c: 13 print ("2:a為真,b為真,或其中一個為真,則為真") 14 else: 15 print ("2:變量a 、c 都不為真") 16 17 #not 逆向理解:當a為真時,返回假;當a假時,則返回真。。C = 0 為假 18 if not c: 19 print ("3:true") 20 else: 21 print ("3:fales") 22 輸出: 23 1:a為真,b為真,則為真 24 2:a為真,b為真,或其中一個為真,則為真 25 3:true?5、python 成員運算
Python還支持成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。
舉例:
成員運算?6、Python 身份運算
?
舉例:
1 a = 10 2 b = 10 3 c = 5 4 d = (5,15,12,45) 5 6 if a is b: 7 print ("1 - a與b有相同的標示位") 8 9 if a is not c: 10 print ("2 - a與c沒有相同的標示位") 11 12 if a is not d: 13 print ("3 - a 不在d 列表里面") 14 15 輸出: 16 1 - a與b有相同的標示位 17 2 - a與c沒有相同的標示位 18 3 - a 不在d 列表里面 19 20 備注:身份運算,個人理解更多的是交集跟非交集合之間的運算。 身份運算?is 與 == 區別:
is 用于判斷兩個變量引用對象是否為同一個, == 用于判斷引用變量的值是否相等
??7、Python?運算符優先級
?
簡單舉例:
1 a = 35 2 b = 25 3 c = 15 4 d = 5 5 e = 0 6 7 f = (a + b) * c / d #( 30 * 15 ) / 5 8 print ("(a + b) * c / d 運算結果為:", f) 9 10 f = ((a + b) * c) / d # (30 * 15 ) / 5 11 print ("((a + b) * c) / d 運算結果為:", f) 12 13 f = (a + b) * (c / d); # (30) * (15/5) 14 print ("(a + b) * (c / d) 運算結果為:", f) 15 16 f = a + (b * c) / d; # 20 + (150/5) 17 print ("a + (b * c) / d 運算結果為:", f) 18 19 輸出: 20 (a + b) * c / d 運算結果為: 180.0 21 ((a + b) * c) / d 運算結果為: 180.0 22 (a + b) * (c / d) 運算結果為: 180.0 23 a + (b * c) / d 運算結果為: 110.0 優先級運算8、Python位運算符
?按位運算符是把數字看作二進制來進行計算的。
根據數字與二進制的轉換方法來計算:
?
網上摘錄列子,可參考:
位運算 三、bytes數據類型1、bytes數據類型
先看一下string和bytes的關系
?
?
1 msg = "很好" 2 3 print (msg) 4 print (msg.encode(encoding="utf8")) 5 6 輸出: 7 很好 8 b'\xe5\xbe\x88\xe5\xa5\xbd' View Code?音頻、視頻都是二進制文件,要變成讀的字符編碼,就需要設置到轉碼。
?
2、三元運算
語法:result?=??值1?if?條件?else?值2
理解過程:一條命令解決。三元運算,先看中間if的語句部分:
A 、IF中如果a 大于 b成立 ,則d = b, 否則d = c 。實際a = 1 ,b=5 ,a>b不成立。則d = c ,所以d ?的值為 7 ;
B 、IF中如果a 小于 b成立 ,則d = b, 否則d = c 。實際a = 1 ,b=5 ,a<b成立。則d = b,所以d ?的值為 5;
?
3、進制的理解
- 二進制,01
- 八進制,01234567
- 十進制,0123456789
- 十六進制,0123456789ABCDEF ?#A-F 表示 10-15的對應數字。
理解:?二進制到16進制轉換 ?http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
?
轉載于:https://www.cnblogs.com/chen170615/p/7183326.html
總結
以上是生活随笔為你收集整理的Python 第2周 - Python基础-模块\数据运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单例模式(单一实例)
- 下一篇: 谈谈自己的理解:python中闭包,闭包