python时间函数报错_Python Day11-LEGB-global-时间函数
1.LEGB規則對變量名進行作用域解析
我們已經知道了多個命名空間可以獨立存在,而且可以在不同的層次上包含相同的變量名?!白饔糜颉倍x了Python在哪一個層次上查找某個“變量名”對應的對象。接下來的問題就是:“Python在查找‘名稱-對象’映射時,是按照什么順序對命名空間的不同層次進行查找的?”
答案就是:使用的是LEGB規則,表示的是Local -> Enclosed -> Global -> Built-in,其中的箭頭方向表示的是搜索順序。
Local 可能是在一個函數或者類方法內部。
Enclosed 可能是嵌套函數內,比如說 一個函數包裹在另一個函數內部。
Global 代表的是執行腳本自身的最高層次。
Built-in 是Python為自身保留的特殊名稱。
因此,如果某個name:object映射在局部(local)命名空間中沒有找到,接下來就會在閉包作用域(enclosed)進行搜索,如果閉包作用域也沒有找到,Python就會到全局(global)命名空間中進行查找,最后會在內建(built-in)命名空間搜索(注:如果一個名稱在所有命名空間中都沒有找到,就會產生一個NameError)。
2.global與nonlocal
global:函數內部訪問全局變量時(改變值)需要在函數體內加global
nonlocal count:在內置函數中訪問外部函數變量(改變),需要在內置函數中添加nonlocal
第一,兩者的功能不同。global關鍵字修飾變量后標識該變量是全局變量,對該變量進行修改就是修改全局變量,而nonlocal關鍵字修飾變量后標識該變量是上一級函數中的局部變量,如果上一級函數中不存在該局部變量,nonlocal位置會發生錯誤(最上層的函數使用nonlocal修飾變量必定會報錯)。
第二,兩者使用的范圍不同。global關鍵字可以用在任何地方,包括最上層函數中和嵌套函數中,即使之前未定義該變量,global修飾后也可以直接使用,而nonlocal關鍵字只能用于嵌套函數中,并且外層函數中定義了相應的局部變量,否則會發生錯誤
3.時間函數
用time模塊的strftime函數時間日期的格式化時間
import time
print(time.strftime('%Y/%m/%d %H:%M:%S %A'))
格式符號
說明
格式符號
說明
格式
說明
%Y
年(2019)
%B
月(June)
%A
星期(Thursday)
%y
年(19)
%b
月(Jun)
%a
星期(Thu)
%I
時(02)
%m
月(06)
%w
星期(4)(0~6)(0是周日)
%H
時(14)
%M
分(20)
%S
秒(34)
%j
今年天數(171)
%U
今年星期數(24)
%d
日(20)
%x
( 06/20/19)
%X
(14:20:34)
%c
(Thu Jun 20 14:20:34 2019)
時間戳:從1970/01/01 00:00:00開始的秒偏移量
函數,【】可省略
說明
time.clock()
當前CPU時間(浮點型)
time.time()
當前的時間戳(浮點型)
time.mktime(時間元組)
返回當時的時間戳
time.localtime(【時間戳】)
返回當時的時間元組(默認現在)
time.gmtime(時間戳)
返回當時的時間元組(0°經線時間)
time.strptime(字符串,格式)
將字符串格式化為時間元組
time.strftime(格式)
將時間元組格式化為字符串
time.asctime(【時間元組】)
相當于time.strftime(’%c’【,時間元組】)
time.ctime(【時間戳】)
相當于time.asctime(localtime(時間戳))
time.tzname
本地時區名稱
time.altzone
夏令時,離0°經線時間的秒偏移量
time.tiemzone
非夏令時,離0°經線時間的秒偏移量
time.sleep(秒數)
推遲調用線程的運行
時間元組struct_time
字段
說明
tm_year
年
tm_mon
月(1~12)
tm_mday
日(1~31)
tm_hour
時(0~23)
tm_min
分(0~59)
tm_sec
秒(0~61)(閏秒)
tm_wday
星期(0~6)(周一是0)
tm_yday
天(1~366)(閏年)
tm_isdst
夏令時(-1,0,1)import time
time.sleep(10)#休眠,秒為單位
time.time() #當前時間 秒
d = time.strptime("2020-1-13 11:16:25","%Y-%m-%d %H:%M:%S") str-->tuple
d = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) str
time.clock() #cpu時間
m0_46243410
發布了9 篇原創文章 · 獲贊 0 · 訪問量 132
私信
關注
標簽:函數,Python,LEGB,global,元組,tm,時間,time
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python时间函数报错_Python Day11-LEGB-global-时间函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python求导函数的值_python怎
- 下一篇: sql年月日24小时制_Power Qu