Python每日一練------內置函數+內置變量+內置模塊


1.內置函數

Python所有的內置函數

    Built-in Functions    
abs() divmod() input() open() staticmethod()
all() enumerate() int() ord() str()
any() eval() isinstance() pow() sum()
basestring() execfile() issubclass() print() super()
bin() file() iter() property() tuple()
bool() filter() len() range() type()
bytearray() float() list() raw_input() unichr()
callable() format() locals() reduce() unicode()
chr() frozenset() long() reload() vars()
classmethod() getattr() map() repr() xrange()
cmp() globals() max() reversed() zip()
compile() hasattr() memoryview() round() __import__()
complex() hash() min() set() apply()
delattr() help() next() setattr() buffer()
dict() hex() object() slice() coerce()
dir() id() oct() sorted() intern()

 

置方法  說明
__init__(self,...)  初始化對象,在創建新對象時調用
 __del__(self)  釋放對象,在對象被刪除之前調用
 __new__(cls,*args,**kwd)  實例的生成操作
 __str__(self)  在使用print語句時被調用
 __getitem__(self,key)  獲取序列的索引key對應的值,等價於seq[key]
 __len__(self)  在調用內聯函數len()時被調用
 __cmp__(stc,dst)  比較兩個對象src和dst
 __getattr__(s,name)  獲取屬性的值
 __setattr__(s,name,value)  設置屬性的值
 __delattr__(s,name)  刪除name屬性
 __getattribute__()  __getattribute__()功能與__getattr__()類似
 __gt__(self,other)  判斷self對象是否大於other對象
 __lt__(slef,other)  判斷self對象是否小於other對象
 __ge__(slef,other)  判斷self對象是否大於或者等於other對象
 __le__(slef,other)  判斷self對象是否小於或者等於other對象
 __eq__(slef,other)  判斷self對象是否等於other對象
 __call__(self,*args)  把實例對象作為函數調用

2.內置變量

vars()查看內置全局變量

以字典方式返回內置全局變量

 

[java] view plain copy
  1. #!/usr/bin/env python  
  2. # -*- coding:utf8 -*-  
  3. print(vars())  
  4. #輸出  
  5. # {'__builtins__': <module 'builtins' (built-in)>, '__spec__': None, '__package__': None, '__doc__': None, '__name__': '__main__', '__cached__': None, '__file__': 'H:/py/index.py', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000AC32C66A58>}  
__doc__ :獲取文件的注釋

__file__ 【重點】獲取當前文件的路徑

__file__ ,一般配合os模塊的os.path.dirname(),os.path.basename() ,os.path.join() 模塊函數來使用

 

[java] view plain copy
  1. #!/usr/bin/env python  
  2. # -*- coding:utf8 -*-  
  3. import os  
  4. a = __file__    # __file__全局變量獲取當前文件路徑  
  5. print(a)  
  6.   
  7. b = os.path.dirname(a) #獲取文件當前目錄:注意:os.path.dirname()疊加一次向上找一次 如下  
  8. print(b)  
  9.   
  10. b2 = os.path.dirname(b) #獲取文件當前目錄的上級目錄,注意:os.path.dirname()疊加一次向上找一次  
  11. print(b2)  
  12.   
  13. c = os.path.basename(a) #獲取文件名稱  
  14. print(c)  
  15. #輸出  
  16. # H:/py/lib/ska/mk.py  
  17. # H:/py/lib/ska  
  18. # H:/py/lib  
  19. # mk.py  
 用__file__獲取模塊路徑,添加到解釋器模塊路徑里
[java] view plain copy
  1. #!/usr/bin/env python  
  2. # -*- coding:utf8 -*-  
  3. import sys  
  4. import os  
  5. a = __file__    # __file__全局變量獲取當前文件路徑  
  6. print(a)  
  7. b = os.path.dirname(a) #獲取文件當前目錄  
  8. print(b)  
  9. c = "lib" #自定義文件目錄名稱  
  10. d = os.path.join(b,c) #將獲取文件當前目錄,與自定義文件目錄名稱,拼接成完整的路徑  
  11. print(d)  
  12. print("\n")  
  13.   
  14. sys.path.append(d) #將拼接好的路徑,添加到解釋器模塊路徑中  
  15.   
  16. for i in sys.path:  #  
  17.     print(i)  
  18. #輸出  
  19. # H:/py/index.py  
  20. # H:/py  
  21. # H:/py\lib  
  22. #  
  23. #  
  24. # H:\py  
  25. # C:\Users\admin\AppData\Local\Programs\Python\Python35\lib\site-packages\pip-8.1.2-py3.5.egg  
  26. # H:\py  
  27. # C:\Users\admin\AppData\Local\Programs\Python\Python35\python35.zip  
  28. # C:\Users\admin\AppData\Local\Programs\Python\Python35\DLLs  
  29. # C:\Users\admin\AppData\Local\Programs\Python\Python35\lib  
  30. # C:\Users\admin\AppData\Local\Programs\Python\Python35  
  31. # C:\Users\admin\AppData\Local\Programs\Python\Python35\lib\site-packages  
  32. # H:/py\lib  
__package__ :獲取導入文件的路徑,多層目錄以點分割,注意:對當前文件返回None

__cached__ :獲取導入文件的緩存路徑

__name__ 【重點】獲取導入文件的路徑加文件名稱,路徑以點分割,注意:獲取當前文件返回__main__ 

__name__  全局變量寫在入口文件里,只有執行入口文件時的返回值才是__main__  ,如果入口文件被導入到別的文件里,此時入口文件的__name__返回值就不在是__main__,而是如果文件的路徑加入口文件名稱,所以我們可以用__name__全局變量來防止別人盜鏈入口文件

__builtins__ 【重點】內置函數在這里面

3.內置模塊

一:os模塊,(文件和目錄)用於提供系統級別的操作

二:sys模塊:用於提供對解釋器相關的操作

三:hashlib模塊:用於加密相關的操作,代替了md5模塊和sha模塊,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

四:shutil模塊:高級的 文件、文件夾、壓縮包 處理模塊(遞歸,文件復制等)

五:configparser模塊:用於對特定的配置進行操作,

六:logging: 用於便捷記錄日志且線程安全的模塊

 

七:time & datetime 模塊:時間相關的操作,時間有三種表示方式:

八:random模塊:隨機數
九:json 和 pickle模塊
十:shelve模塊:一個簡單的k,v將內存數據通過文件持久化的模塊,可以持久化任何pickle可支持的python數據格式
 
[java] view plain copy
  1. os.getcwd()             獲取當前工作目錄,即當前Python腳本工作的目錄路徑  
  2. os.chdir("dirname")      改變當前腳本工作目錄;相當於shell下cd  
  3. os.curdir               返回當前目錄: ('.')  
  4. os.pardir               獲取當前目錄的父目錄字符串名:('..')  
  5. os.makedirs('dirname1/dirname2')    可生成多層遞歸目錄  
  6. os.removedirs('dirname1') 若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依此類推  
  7. os.mkdir('dirname')       生成單級目錄;相當於shell中mkdir dirname  
  8. os.rmdir('dirname')       刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname  
  9. os.listdir('dirname')       列出指定目錄下的所有文件和子目錄,包括隱藏文件,並以列表方式打印  
  10. os.remove()  刪除一個文件  
  11. os.rename("oldname","newname")  重命名文件/目錄  
  12. os.stat('path/filename')    獲取文件/目錄信息  
  13. os.sep                  輸出操作系統特定的路徑分隔符,win下為"\\",Linux下為"/"  
  14. os.linesep               輸出當前平台使用的行終止符,win下為"\t\n",Linux下為"\n"  
  15. os.pathsep              輸出用於分割文件路徑的字符串  
  16. os.name                  輸出字符串指示當前使用平台。win->'nt'; Linux->'posix'  
  17. os.system("bashcommand")  運行shell命令,直接顯示  
  18. os.environ               獲取系統環境變量  
  19. os.path.abspath(path)      返回path規范化的絕對路徑  
  20. os.path.split(path)         將path分割成目錄和文件名二元組返回  
  21. os.path.dirname(path)      返回path的目錄。其實就是os.path.split(path)的第一個元素  
  22. os.path.basename(path)    返回path最后的文件名。如何path以/或\結尾,那么就會返回空值。即os.path.split(path)的第二個元素  
  23. os.path.exists(path)        如果path存在,返回True;如果path不存在,返回False  
  24. os.path.isabs(path)        如果path是絕對路徑,返回True  
  25. os.path.isfile(path)        如果path是一個存在的文件,返回True。否則返回False  
  26. os.path.isdir(path)         如果path是一個存在的目錄,則返回True。否則返回False  
  27. os.path.join(path1[, path2[,...]])  將多個路徑組合后返回,第一個絕對路徑之前的參數將被忽略  
  28. os.path.getatime(path)     返回path所指向的文件或者目錄的最后存取時間  
  29. os.path.getmtime(path)    返回path所指向的文件或者目錄的最后修改時間  
  30. 執行系統命令  
  31. os.system  
 
[java] view plain copy
  1. sys.argv           命令行參數List,第一個元素是程序本身路徑  
  2. sys.exit(n)         退出程序,正常退出時exit(0)  
  3. sys.version         獲取Python解釋程序的版本信息  
  4. sys.maxint         最大的Int值  
  5. sys.path           返回模塊的搜索路徑,初始化時使用PYTHONPATH環境變量的值  
  6. sys.platform       返回操作系統平台名稱  

[java] view plain copy
  1.   
[java] view plain copy
  1. #hashlib  
  2. hash = hashlib.md5()  
  3. hash.update(b'admin')  
  4. print(hash.hexdigest())  

[java] view plain copy
  1. print(time.time()) #返回當前系統時間戳  
  2. print(time.ctime()) #輸出Tue Jan 26 18:23:48 2016 ,當前系統時間  
[java] view plain copy
  1. print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #將struct_time格式轉成指定的字符串格式  
  2. print(time.strptime("2016-01-28","%Y-%m-%d") ) #將字符串格式轉換成struct_time格式  
[java] view plain copy
  1. current_time = datetime.datetime.now() #  
  2. print(current_time) #輸出2016-01-26 19:04:30.335935  
  3. print(current_time.timetuple()) #返回struct_time格式  
[java] view plain copy
  1. str_to_date = datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M") #將字符串轉換成日期格式  
  2. new_date = datetime.datetime.now() + datetime.timedelta(days=10) #比現在加10天  







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM