国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

Python 編程開發 實用經驗和技巧大放送

極客小將2021-03-24-
簡介文章目錄一、小數保留指定位小數1.%f方法2.format函數3.round()函數4.直接截斷二、判斷變量的數據類型1.type():2.isinstance()3.__class__.__name__屬性三、Python中的類方法(@classmethod)四、str.format與制表符 設
歡迎訪問少兒編程網(http://www.pxcodes.com) mjF少兒編程網-https://www.pxcodes.com

文章目錄mjF少兒編程網-https://www.pxcodes.com

一、小數保留指定位小數1.%f 方法2.format函數3.round()函數4.直接截斷二、判斷變量的數據類型1.type():2.isinstance()3.__class__.__name__屬性三、Python中的類方法(@classmethod)四、str.format與制表符 設置中文對齊五、datetime模塊timedelta類的使用六、獲取拋出的異常具體信息七、使用BeautifulSoup庫去掉字符串中的HTML標簽

(免費學習推薦:python視頻教程)mjF少兒編程網-https://www.pxcodes.com

一、小數保留指定位小數mjF少兒編程網-https://www.pxcodes.com

1.%f 方法mjF少兒編程網-https://www.pxcodes.com

f = 1.23456f1 = '%.4f' % f f2 = '%.2f' % fprint(f1,type(f1))print(f2,type(f2))

打印mjF少兒編程網-https://www.pxcodes.com

1.2346 <class 'str'>1.23 <class 'str'>

易知,這種方法會進行四舍五入,但是將浮點型轉化成了字符串值,已不再是原始的數值。mjF少兒編程網-https://www.pxcodes.com

2.format函數mjF少兒編程網-https://www.pxcodes.com

f = 1.23456f1 = format(f,'.4f')f2 = format(f,'.2f')print(f1,type(f1))print(f2,type(f2))

打印mjF少兒編程網-https://www.pxcodes.com

1.2346 <class 'str'>1.23 <class 'str'>

同理,這種方法也會進行四舍五入,但是將浮點型轉化成了字符串值,已不再是原始的數值。mjF少兒編程網-https://www.pxcodes.com

3.round()函數mjF少兒編程網-https://www.pxcodes.com

a = 1.23456b = 2.355c = 3.5d = 2.5a1 = round(a, 3)b1 = round(b, 2)c1 = round(c)d1 = round(d)print(a1,type(a1))print(b1,type(b1))print(c1,type(c1))print(d1,type(d1))

打印mjF少兒編程網-https://www.pxcodes.com

1.235 <class 'float'>2.35 <class 'float'>4 <class 'int'>2 <class 'int'>

可以看出,round()函數**后得到的是數值(浮點型或整型),但是在“舍”和“入”的規律上不一定:
(1)round(x,n)函數中,是否進位或四舍五入,取決于n位以及n+1位小數的值
(2)只有當n+1位數字是5的時候,容易混淆,如果n為偶數,則n+1位數是5,則進位,例如round(1.23456,3)**終變為1.235
(3)如果n為奇數,則n+1位是數5,那不進位,例如round(2.355,2),**終為2.35
(4)如果n為0,即沒有填寫n的時候,**終結果與上面相反,即整數部分為偶數的時候,小數位5不進位,例如(round(2.5)變為2)。
(5)整數部分為奇數的時候,小數位5進位。(round(3.5)變為4)mjF少兒編程網-https://www.pxcodes.com

4.直接截斷mjF少兒編程網-https://www.pxcodes.com

a = int(1.23456 * 1000) / 1000print(a)

打印1.234
這種方法簡單粗暴,直接去掉后邊的,不管是否大于5。mjF少兒編程網-https://www.pxcodes.com

二、判斷變量的數據類型mjF少兒編程網-https://www.pxcodes.com

1.type():mjF少兒編程網-https://www.pxcodes.com

a = 1.23print(type(a))

打印<class 'float'>。mjF少兒編程網-https://www.pxcodes.com

2.isinstance()mjF少兒編程網-https://www.pxcodes.com

原型為isinstance(x, A_tuple),mjF少兒編程網-https://www.pxcodes.com

a = 1.23tp = isinstance(a,float)print(tp)

打印True。mjF少兒編程網-https://www.pxcodes.com

3.class.__name__屬性mjF少兒編程網-https://www.pxcodes.com

使用變量的__class__.__name__屬性 ,這也是type()方法的實質:mjF少兒編程網-https://www.pxcodes.com

num = 1.23print(num.__class__.__name__)

打印:mjF少兒編程網-https://www.pxcodes.com

float

三、Python中的類方法(@classmethod)mjF少兒編程網-https://www.pxcodes.com

python做面向對象編程的時候,經常需要使用classmethod類方法,這并不是類中的方法。
類方法也算一種實用的技巧,簡單描述之:“類方法讓類模板具有記憶力”。
類模板就是我們所定義的類。在普通情況下,不使用類方法對類進行實例化,類本身是不具有記憶性的。只是當一個靜態模板被套用多次而已。如果我們想讓類在每一次實例化之后,都能記載一些記憶,會對很多操作很有用。mjF少兒編程網-https://www.pxcodes.com

class Man: id = 0 # 類變量 def __init__(self, name): self.name = name self.id = self.id_number() @classmethod def id_number(cls): cls.id += 1 return cls.id a = Man('A')print(a.id)b = Man('B')print(b.id)

打印mjF少兒編程網-https://www.pxcodes.com

12

對Man這個類進行實例化2次,每個實例的id都不一樣。這就依靠類方法來實現了:首先,用 @classmethod描述類方法,然后用"cls"代表本類。類方法對類屬性進行的處理是有記憶性的。mjF少兒編程網-https://www.pxcodes.com

需要注意的是,類方法處理的變量一定要是類變量。因為在類方法里你用不了self來尋址實例變量,所以需要把類變量放到**前面描述,如上面的"id=0"所示。類變量是可以被self訪問的,所以,在類變量定義好了以后,不需要在_init_函數里對類變量再一次描述。所以,上面代碼里self.id不一定需要。mjF少兒編程網-https://www.pxcodes.com

四、str.format與制表符 設置中文對齊mjF少兒編程網-https://www.pxcodes.com

str.format對字符串進行格式化,{:<x}的語法表示左對齊,{:>x}為右對齊,{:^x}為居中),少于x位自動補齊(默認為空格補齊),但是對于中文字符并不能很好地支持,所以會導致有多行中文字符串時出現不能對齊的現象,需要考慮到字符串所占長度并將中文字符串進行編碼后再計算。mjF少兒編程網-https://www.pxcodes.com

#name是包含中文的字符串,22是整個字符串一行的總長度,一般要顧及測試才能得到, 后的x是一標記字符,可換為別的所需的字符串print('[{string:<{len}} x'.format(string=string+']',len=22-len(string.encode('GBK'))+len(string)))

具體可參考https://blog.csdn.net/excaliburrr/article/details/76794451mjF少兒編程網-https://www.pxcodes.com

五、datetime模塊timedelta類的使用mjF少兒編程網-https://www.pxcodes.com

timedelta對象表示兩個不同時間之間的差值, 這個差值的單位可以是:天、秒、微秒、毫秒、分鐘、小時、周。
如果使用time模塊對時間進行算術運算,只能將字符串格式的時間和struct_time格式的時間對象先轉換為時間戳格式,然后對該時間戳加上或減去n秒,**后再轉換回struct_time格式或字符串格式,這顯然很不方便。而datetime模塊提供的timedelta類可以讓我們很方面的對datetime.date, datetime.time和datetime.datetime對象做算術運算,且兩個時間之間的差值單位也更加容易控制。
datetime.timedelta類的定義:mjF少兒編程網-https://www.pxcodes.com

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, hours=0, weeks=0)

所有參數都是默認參數,因此都是可選參數。參數的值可以是整數或浮點數,也可以是正數或負數。內部值存儲days、seconds 和 microseconds,其他所有參數都將被轉換成這3個單位:mjF少兒編程網-https://www.pxcodes.com

1毫秒轉換為1000微秒1分鐘轉換為60秒1小時轉換為3600秒1周轉換為7天

然后對這3個值進行標準化,使得它們的表示是**的:mjF少兒編程網-https://www.pxcodes.com

microseconds : [0, 999999]seconds : [0, 86399]days : [-999999999, 999999999]

類屬性:mjF少兒編程網-https://www.pxcodes.com

類屬性名稱描述timedelta.mintimedelta(-999999999)timedelta.maxtimedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)timedelta.resolutiontimedelta(microseconds=1)

實例方法和屬性:mjF少兒編程網-https://www.pxcodes.com

實例方法/屬性名稱描述td.days天 [-999999999, 999999999]td.seconds秒 [0, 86399]td.microseconds微秒 [0, 999999]td.total_seconds()時間差中包含的總秒數,等價于: td / timedelta(seconds=1)方法/屬性描述datetime.datetime.now()返回當前本地時間(datetime.datetime對象實例)datetime.datetime.fromtimestamp(timestamp)返回指定時間戳對應的時間(datetime.datetime對象實例)datetime.timedelta()返回一個時間間隔對象,可以直接與datetime.datetime對象做加減操作>>> import datetime>>>>>> datetime.timedelta(365).total_seconds() # 一年包含的總秒數31536000.0>>> dt = datetime.datetime.now()>>> dt + datetime.timedelta(3) # 3天后datetime.datetime(2020, 1, 22, 11, 17, 0, 214877)>>> dt + datetime.timedelta(-3) # 3天前datetime.datetime(2020, 1, 16, 11, 17, 0, 214877)>>> dt + datetime.timedelta(hours=3) # 3小時后datetime.datetime(2020, 1, 19, 14, 17, 0, 214877)>>> dt + datetime.timedelta(hours=-3) # 3小時前datetime.datetime(2020, 1, 19, 8, 17, 0, 214877)>>> dt + datetime.timedelta(hours=3, seconds=30) # 3小時30秒后 datetime.datetime(2020, 1, 19, 14, 17, 30, 214877)

更多關于Python對日期、時間的處理可參考https://www.jb51.net/article/105840.htm。mjF少兒編程網-https://www.pxcodes.com

六、獲取拋出的異常具體信息mjF少兒編程網-https://www.pxcodes.com

很多時候,在Python運行拋出異常并接收到之后需要顯示異常的具體信息,包括異常內容、異常所在的行數和異常所在的Python文件等等,分別使用args[0]、__traceback__.tb_lineno和__traceback__.tb_frame.f_globals["__file__"]屬性即可,示意如下:mjF少兒編程網-https://www.pxcodes.com

def get_exception_info(): try: s = 2 / 0 except Exception as e: print('異常內容:', e.args[0]) print('異常行數:', e.__traceback__.tb_lineno) print('異常文件:', e.__traceback__.tb_frame.f_globals["__file__"])get_exception_info()

打印:mjF少兒編程網-https://www.pxcodes.com

異常內容: pision by zero 異常行數: 8異常文件: XXX/test.py

七、使用BeautifulSoup庫去掉字符串中的HTML標簽mjF少兒編程網-https://www.pxcodes.com

有時候,字符串中含有HTML標簽,如mjF少兒編程網-https://www.pxcodes.com

text = """<p> <h1>Title</h1> <p>A long text........ </p> <a href=""> a link </a> </p>"""

需要得到' Title A long text........ a link ',可以使用正則表達式匹配,但是稍嫌麻煩,此時可以直接使用BeautifulSoup庫進行轉化,更加簡單,如下:mjF少兒編程網-https://www.pxcodes.com

from bs4 import BeautifulSoup text = """<p> <h1>Title</h1> <p>A long text........ </p> <a href=""> a link </a> </p>"""clean_text = BeautifulSoup(text, "lxml").textprint(clean_text)

打印:mjF少兒編程網-https://www.pxcodes.com

Title A long text........ a link

顯然,此時已經去掉了字符串中的HTML標簽。mjF少兒編程網-https://www.pxcodes.com

相關免費學習推薦:python教程(視頻)mjF少兒編程網-https://www.pxcodes.com

以上就是Python 編程開發 實用經驗和技巧大放送的詳細內容,更多請關注少兒編程網其它相關文章!mjF少兒編程網-https://www.pxcodes.com

預約試聽課

已有385人預約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        粉嫩av一区二区三区天美传媒| 波多野结衣乳巨码无在线| 国产精品国产对白熟妇| 久久久成人精品一区二区三区| 青青草精品视频在线观看| 丰满女人性猛交| 性久久久久久久久久久久久久| 97在线播放视频| 青青草原av在线播放| 男人添女人荫蒂免费视频| 日本丰满大乳奶| 日本一级淫片演员| 第九区2中文字幕| 欧美 国产 精品| 男女裸体影院高潮| 免费在线黄网站| 成品人视频ww入口| 日韩中文字幕三区| 欧美一级黄色影院| 黄色国产小视频| 九一精品久久久| 精品少妇人妻av一区二区| 日本黄xxxxxxxxx100| 污污污污污污www网站免费| 久草视频国产在线| 精品视频无码一区二区三区| 国产精品天天av精麻传媒| 亚洲一区二区三区四区五区xx| 色播五月综合网| www亚洲国产| 131美女爱做视频| 欧美一级裸体视频| ijzzijzzij亚洲大全| 久色视频在线播放| 中文字幕成人免费视频| a级黄色片网站| 亚洲男人天堂色| 国产欧美123| 成年人在线观看视频免费| 在线免费黄色网| 国产成人黄色片| www.日本久久| 日韩视频免费在线播放| 日本网站在线看| 亚洲视频在线a| 欧美a级免费视频| 欧美午夜aaaaaa免费视频| 国产在线观看欧美| 性chinese极品按摩| 97视频在线免费| 欧美日韩一级在线| 中文久久久久久| 成人黄色大片网站| www.久久com| 三年中国国语在线播放免费| 蜜臀精品一区二区| 手机成人av在线| 欧美日韩亚洲自拍| 2022亚洲天堂| 奇米影视亚洲色图| 天堂а√在线中文在线 | 天堂av免费看| 欧美三级午夜理伦三级富婆| 欧美在线观看成人| 91午夜在线观看| 亚洲黄色网址在线观看| 亚洲第一天堂久久| 欧美午夜性生活| 99精品免费在线观看| 国产高清av在线播放| 97超碰在线人人| 妞干网在线视频观看| 国产精品69久久久| 九九热只有这里有精品| www.九色.com| 免费一级特黄毛片| www插插插无码视频网站| 400部精品国偷自产在线观看| 亚洲精品成人在线播放| 在线看免费毛片| 婷婷激情小说网| 妞干网这里只有精品| 日韩激情视频一区二区| 国产精品日韩三级| 国产午夜福利100集发布| 毛片在线视频播放| 国产a级一级片| 国产超碰在线播放| 青青草原播放器| 激情五月五月婷婷| 日韩少妇内射免费播放| 男人插女人下面免费视频| 久久久久久久久久一区| 日韩亚洲欧美一区二区| 国产深夜男女无套内射| 成年网站在线免费观看| 欧美在线观看视频网站| 五月天婷婷亚洲| 桥本有菜av在线| av动漫免费看| 91丝袜超薄交口足| 久久精品国产sm调教网站演员| 精品人妻一区二区三区四区在线 | 91香蕉视频网址| 欧美变态另类刺激| 蜜臀一区二区三区精品免费视频| 五月花丁香婷婷| 男人日女人下面视频| 一起操在线视频| 久久99久久久久久| 日本一二三四区视频| 91视频最新入口| 99久久99久久精品| 色18美女社区| 日本免费黄视频| 欧美一级爱爱视频| 女人高潮一级片| 色悠悠久久综合网| 天堂…中文在线最新版在线| 九九久久久久久| 国产一区视频免费观看| 大西瓜av在线| 国产精品久久成人免费观看| 日韩av一二三四| 久久综合九色综合88i| 爱豆国产剧免费观看大全剧苏畅| 亚洲熟妇国产熟妇肥婆| 国产精品国产三级国产专区51| 天堂av在线网站| 日韩视频免费在线播放| 丝袜老师办公室里做好紧好爽| 欧美在线观看黄| 激情六月天婷婷| 蜜臀av.com| 成人毛片100部免费看| 亚洲高清视频免费| 天堂在线中文在线| xxx中文字幕| 色姑娘综合天天| 亚洲欧美一二三| 色撸撸在线观看| 99精品一区二区三区的区别| 国产高潮呻吟久久久| 黑人巨茎大战欧美白妇| 日本久久久网站| 欧美午夜小视频| 欧美综合在线播放| 粗暴91大变态调教| 日本爱爱免费视频| 午夜xxxxx| 日韩欧美猛交xxxxx无码| 久久这里只有精品18| 精品无码一区二区三区在线| 哪个网站能看毛片| 久久久久国产一区| 国产一区二区在线观看免费视频| 免费精品99久久国产综合精品应用| 亚洲激情在线观看视频| 天天久久综合网| 成品人视频ww入口| 国产91色在线观看| 最近中文字幕免费mv| www.99热这里只有精品| 中文久久久久久| 日韩精品手机在线观看| 欧美 丝袜 自拍 制服 另类| 老熟妇仑乱视频一区二区| 一级黄色特级片| 屁屁影院ccyy国产第一页| 国产欧美高清在线| 性欧美18一19内谢| 日本欧美黄色片| 福利视频999| 成熟丰满熟妇高潮xxxxx视频| 污污视频网站免费观看| 日本一区二区三区四区五区六区| 男人天堂a在线| 北条麻妃亚洲一区| 亚洲一级免费观看| 男女高潮又爽又黄又无遮挡| 国产精品美女在线播放| 欧美一级黄色片视频| 屁屁影院ccyy国产第一页| 538任你躁在线精品免费| 欧洲黄色一级视频| 日本一级黄视频| www.午夜av| 日本77777| 国产一二三区av| 日韩精品一区二区三区久久| 看一级黄色录像| 91香蕉视频网址| 亚洲理论中文字幕| 久久久久久综合网| 国产精品v日韩精品v在线观看| 黄色www网站| 男人日女人下面视频| 男人添女人下面高潮视频| 成人av在线不卡| 日韩a级黄色片|