第三十九節,python內建全域性變數

2021-09-08 19:10:52 字數 3420 閱讀 3296

vars()檢視內建全域性變數

以字典方式返回內建全域性變數

#

!/usr/bin/env python

#-*- coding:utf8 -*-

print

(vars())#輸出

#

#

!/usr/bin/env python

#-*- coding:utf8 -*-

"""這裡是檔案的注釋

"""print(__doc__) #

__doc__ :獲取檔案的注釋#輸出

#這裡是檔案的注釋

__file__ 【重點】獲取當前檔案的路徑

#

!/usr/bin/env python

#-*- coding:utf8 -*-

print(__file__) #

__file__ :獲取當前檔案的路徑#輸出

#h:/py/index.py

會經常用到__file__ ,一般配合os模組的os.path.dirname(),os.path.basename() ,os.path.join() 模組函式來使用

#

!/usr/bin/env python

#-*- coding:utf8 -*-

import

osa = __file__

#__file__全域性變數獲取當前檔案路徑

print

(a)b = os.path.dirname(a) #

獲取檔案當前目錄:注意:os.path.dirname()疊加一次向上找一次 如下

print

(b)b2 = os.path.dirname(b) #

獲取檔案當前目錄的上級目錄,注意:os.path.dirname()疊加一次向上找一次

print

(b2)

c = os.path.basename(a) #

獲取檔名稱

print

(c)#輸出#

h:/py/lib/ska/mk.py

#h:/py/lib/ska

#h:/py/lib

#mk.py

用__file__獲取模組路徑,新增到直譯器模組路徑裡

#

!/usr/bin/env python

#-*- coding:utf8 -*-

import

sysimport

osa = __file__

#__file__全域性變數獲取當前檔案路徑

print

(a)b = os.path.dirname(a) #

獲取檔案當前目錄

print

(b)c = "

lib"

#自定義檔案目錄名稱

d = os.path.join(b,c) #

將獲取檔案當前目錄,與自定義檔案目錄名稱,拼接成完整的路徑

print

(d)print("\n"

)#將拼接好的路徑,新增到直譯器模組路徑中

for i in sys.path: #

print

(i)#輸出#

h:/py/index.py

#h:/py

#h:/py\lib##

#h:\py##

h:\py##

####

h:/py\lib

__package__ :獲取匯入檔案的路徑,多層目錄以點分割,注意:對當前檔案返回none

#

!/usr/bin/env python

#-*- coding:utf8 -*-

print(__package__) #

注意:對當前檔案返回none

from lib.ska import mk #

匯入mk模組檔案

print(mk.__package__) #

__package__ :獲取匯入檔案的路徑,多層目錄以點分割,注意:對當前檔案返回none#輸出

#none

#lib.ska

#lib.ska

__cached__ :獲取匯入檔案的快取路徑

#

!/usr/bin/env python

#-*- coding:utf8 -*-

from lib.ska import mk #

匯入mk模組檔案

print(mk.__cached__) #

__cached__ :獲取匯入檔案的快取路徑#輸出

#h:\py\lib\ska\__pycache__\mk.cpython-35.pyc

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

#

!/usr/bin/env python

#-*- coding:utf8 -*-

print(__name__) #

注意:獲取當前檔案返回__main__

from lib.ska import mk #

匯入mk模組檔案

print(mk.__name__) #

獲取匯入檔案的路徑加檔名稱,路徑以點分割#輸出

#__main__

#lib.ska.mk

__name__  全域性變數寫在入口檔案裡,只有執行入口檔案時的返回值才是__main__  ,如果入口檔案被匯入到別的檔案裡,此時入口檔案的__name__返回值就不在是__main__,而是如果檔案的路徑加入口檔名稱,所以我們可以用__name__全域性變數來防止別人盜鏈入口檔案

#

!/usr/bin/env python

#-*- coding:utf8 -*-

if__name__ == "

__main__

": #

__name__ 全域性變數寫在入口檔案裡,只有執行入口檔案時的返回值才是__main__ ,如果入口檔案被匯入到別的檔案裡,此時入口檔案的__name__返回值就不在是__main__,而是如果檔案的路徑加入口檔名稱,所以我們可以用__name__全域性變數來防止別人盜鏈入口檔案

print("執行"

)#這樣只有執行index檔案時才執行判斷裡的,index被匯入到到別的檔案,就不會執行判斷裡的

__builtins__ 【重點】內建函式在這裡面

第三十九級台階

第39級台階 小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優...

第三十九象 壬寅

讖 曰鳥無足 山有月 旭初公升 人都哭 頌 曰十二月中氣不和 南山有雀北山羅 一朝聽得金雞叫 大海沈沈日已過 金聖嘆註解 此象疑一外夷擾亂中原,必至酉年始得平也。推背圖網解 此象主要講倆件事,一是日寇占領東三省 二是西安事變,是本象的重點。兩句讖辭講的是日寇占領東三省的情形。頌辭講西安事變和抗戰勝利...

學習python 第三十九天

python 好的 防止python指令碼中被重複執行 ifname main if x 判斷真 if not x 判斷假 if x in items 包含 for x in items 迭代 不使用臨時變數交換兩個值 a,b b,a 用序列構建字串。sr a a c c b b ss join s...