?你在Python的學(xué)習(xí)中有沒(méi)有遇到過(guò)一些好玩又冷門的知識(shí)嗎?我最近整理了一些,給大家分享一下。
省略號(hào)也是對(duì)象
...這是省略號(hào),在Python中,一切皆對(duì)象,它也不例外。在Python中,它叫做Ellipsis,在Python 3中你可以直接寫…來(lái)得到這玩意。
>>>...
Ellipsis
>>>type(...)
<class'ellipsis'>
而在2中沒(méi)有…這個(gè)語(yǔ)法,只能直接寫Ellipsis來(lái)獲取。
>>>Ellipsis
Ellipsis
>>>type(Ellipsis)
<type'ellipsis'>
>>>
它轉(zhuǎn)為布爾值時(shí)為真
>>>bool(...)
True
最后,這東西是一個(gè)單例。
>>>id(...)
4362672336
>>>id(...)
4362672336
這東西有啥用呢?據(jù)說(shuō)它是Numpy的語(yǔ)法糖,不玩Numpy的人,可以說(shuō)是沒(méi)啥用的。在這里相信有許多想要學(xué)習(xí)Python的同學(xué),大家可以+下Python學(xué)習(xí)分享群:304050799即可免費(fèi)領(lǐng)取一整套系統(tǒng)的 Python學(xué)習(xí)教程!
類的首字母不一定是大寫
在正常情況下,我們所編寫的所見(jiàn)到的代碼,好像都默許了類名首字母大寫,而實(shí)例用小寫的這一準(zhǔn)則,但這并不是強(qiáng)制性的,即使你反過(guò)來(lái)也沒(méi)有關(guān)系。
但有一些內(nèi)置的類,首字母都是小寫,而實(shí)例都是大寫。
比如bool是類名,而True,F(xiàn)alse是其實(shí)例;比如ellipsis是類名,Ellipsis是實(shí)例;還有int,string,float,list,tuple,dict等一系列數(shù)據(jù)類型都是類名,它們都是小寫。
增量賦值的性能更好
諸如+=和*=這些運(yùn)算符,叫做增量賦值運(yùn)算符。這里使用用+=舉例,以下兩種寫法,在效果上是等價(jià)的。
#第一種
a=1;a+=1
#第二種
a=1;a=a+1
+=其背后使用的魔法方法是__iadd__,如果沒(méi)有實(shí)現(xiàn)這個(gè)方法則會(huì)退而求其次,使用__add__。
這兩種寫法有什么區(qū)別呢?
用列表舉例a+=b,使用__add__的話就 像是使用了a.extend(b),如果使用__add__的話,則是a=a+b,前者是直接在原列表上進(jìn)行擴(kuò)展,而后者是先從原列表中取出值,在一個(gè)新的列表中進(jìn)行擴(kuò)展,然后再將新的列表對(duì)象返回給變量,顯然后者的消耗要大些。
所以在能使用增量賦值的時(shí)候盡量使用它。
and和or的取值順序
and和or是我們?cè)偈煜げ贿^(guò)的兩個(gè)邏輯運(yùn)算符。而我們通常只用它來(lái)做判斷,很少用它來(lái)取值。
如果一個(gè)or表達(dá)式中所有值都為真,Python會(huì)選擇第一個(gè)值,而and表達(dá)式則會(huì)選擇第二個(gè)。
>>>(2 or 3)*(5 and 7)
14#2*7
最后檸檬為大家準(zhǔn)備了由北京尚學(xué)堂高淇老師親自錄制,400集python全棧入門到精通的python全套+前端+4個(gè)實(shí)戰(zhàn)項(xiàng)目,第二季已經(jīng)新鮮出爐了!小伙伴們快快領(lǐng)取學(xué)習(xí)吧!
Python作為一種編程語(yǔ)言,被稱為“膠水語(yǔ)言”,更被擁躉們譽(yù)為“最美麗”的編程語(yǔ)言,從云端到客戶端,再到物聯(lián)網(wǎng)終端,無(wú)所不在,同時(shí)還是人工智能優(yōu)選的編程語(yǔ)言。
硬件:
第一篇:操作系統(tǒng)簡(jiǎn)介
第二篇:操作系統(tǒng)
linux基礎(chǔ):
第一篇:初始Linux
第二篇:基本使用
第三篇:Linux進(jìn)階
python基礎(chǔ):
第一篇:python基礎(chǔ)大綱
第二篇:變量與交互
第三篇:快捷鍵
第四篇:基本數(shù)據(jù)類型,基本二,字符串,列表,元組,字典,集合
第五篇:基礎(chǔ)條件和循環(huán)
第六篇:循環(huán),元組,字典列表代碼整理,計(jì)算器小程序,一大波作業(yè)來(lái)襲
第七篇:第六篇-練習(xí)代碼
第八篇:集合
第九篇:字典
第十篇:元組
第十一篇:列表
第十二篇:字符串
第十三篇:日期格式化
python-文件處理:
第一篇:字符編碼、文件處理
python-函數(shù):
第一篇:初始函數(shù)
第二篇:函數(shù)進(jìn)階
第三篇:裝飾器
第四篇:遞歸與二分法
第五篇:內(nèi)置函數(shù)思維導(dǎo)圖
第六篇:迭代器、生成器、列表推倒。。
第七篇:eval一個(gè)神器的函數(shù)
python-模塊和包:
第一篇:模塊導(dǎo)入和包
第二篇:常用的幾個(gè)模塊
第三篇;摘要算法模塊
第四篇:logging模塊
第五篇:configparser模塊
python-面向?qū)ο螅?/b>
第一篇:初始面向?qū)ο?/p>
第二篇:面向?qū)ο笕筇匦?/p>
第三篇:property-staticmethod-classmethod
第四篇:神奇的反射
第五篇:面向?qū)ο笸卣?/p>
python-異常處理:
第一篇:異常處理
python-網(wǎng)絡(luò)編程:
第一篇:初始socket
第二篇:客戶端服務(wù)端一、客戶端服務(wù)端二
python-進(jìn)程、線程、協(xié)程:
第一篇:線程與進(jìn)程
第二篇:并發(fā)編程
第三篇:多進(jìn)程模擬搶票
第五篇:進(jìn)程的隊(duì)列
第六篇:互斥鎖
第七篇:開(kāi)啟線程的兩種方式,線程queue
第八篇:線程與進(jìn)程的兩種應(yīng)用
第九篇:死鎖與遞歸鎖,定時(shí)器
第十篇:event模式數(shù)據(jù)庫(kù)鏈接
第十一篇:進(jìn)程池與線程池,統(tǒng)一進(jìn)程的兩個(gè)任務(wù)切換問(wèn)題
第十二篇:同步與異步
第十三篇:阻塞IO,非阻塞IO,多路復(fù)用
第十四篇:進(jìn)程、線程、協(xié)程終極版
數(shù)據(jù)庫(kù)-MySQL-MongoDB:
第一篇:MySQL--數(shù)據(jù)庫(kù)基本操作一,基本操作二
第二篇:MySQL--進(jìn)階操作(了解即可)
第三篇:MySQL--經(jīng)典習(xí)題
第四篇:MongoDB
前端:HTML、css、JavaScript、jquery、vue.js:
第一篇:HTML
第二篇:css
第三篇:JavaScript
第四篇:jQuery,跨域?qū)嵗?/p>
第五篇:vue.js入門,項(xiàng)目結(jié)構(gòu)介紹,es6入門
第六篇:vue.js詳細(xì)的操作實(shí)例一
第七篇:vue-router篇
第八篇:快速上手npm
第九篇:初識(shí)webpack
python-Django框架:
第一篇:安裝以及介紹--Django生命周期--一些命令----筆記---筆記2--筆記3
第二篇:初始django,MTV模型,請(qǐng)求方式測(cè)試
第三篇:簡(jiǎn)單的登錄注冊(cè),admin管理,權(quán)限管理測(cè)試
第四篇:模板層,練習(xí),模板繼承,csrf跨站
第五篇:基于MySQL的圖書(shū)管理,圖書(shū)管理增刪改,加了cookie的圖書(shū)管理
第五篇:orm查詢,查詢二
第六篇:cookie驗(yàn)證,cookie與session
第七篇:diy自己的權(quán)限系統(tǒng)
第八篇:Django-ajax,,跨站請(qǐng)求偽造,jQuery-serizlize的用法
第九篇:文件上傳,驗(yàn)證碼,Django緩存問(wèn)題
第十篇:Django-rest-framework,部分總結(jié)
第十一篇:content-type
Git-版本控制:
第一篇:Git入門
第二篇:git操作演示
python-flask框架:
第一篇:flask各種小東西
第二篇:flask開(kāi)發(fā)框架,配置文件
第三篇:?jiǎn)卫J?/p>
第四篇:flask-session源碼剖析
第五篇:flask-session組件
第五篇:信號(hào)
第六篇:sqlalchemy操作,操作2,詳細(xì),,命令使用
第七篇:flask-script
redis:
第一篇:基本使用
爬蟲(chóng)相關(guān)
第一篇:爬取?;ňW(wǎng)資源
第二篇:請(qǐng)求庫(kù)-request
第三篇:解析庫(kù)-re-beautifulsoup
第四篇:存儲(chǔ)庫(kù)-MySQL(見(jiàn)上面MySQL),MongoDB
第五篇:github綿密登錄,自動(dòng)投遞簡(jiǎn)歷
第六篇:提高爬蟲(chóng)性能,爬蟲(chóng)性能測(cè)試代碼
第七篇:爬蟲(chóng)框架scrapy1,爬蟲(chóng)框架scrapy2
第八篇:爬取亞馬遜商品信息,爬取網(wǎng)絡(luò)小說(shuō)
第九篇:分布式爬蟲(chóng) ---
項(xiàng)目練習(xí):
第一篇:基于bootstrap搭建靜態(tài)網(wǎng)站
第二篇:基于bootstrap+MySQL搭建動(dòng)態(tài)網(wǎng)站
第三篇:基于HTML,css,jQuery,JavaScript,MySQL搭建博客系統(tǒng)
第四篇:基于django做權(quán)限控制
第五篇:基于django做增刪改查組件,分頁(yè)器組件
第五篇:為公司做crm資產(chǎn)管理
第六篇:基于flask做權(quán)限控制
第七篇:爬蟲(chóng)項(xiàng)目
第八篇:路飛學(xué)成搭建
源碼剖析:
第一篇:flask
第二篇:django
第三篇:django-restframework源碼流程分析
金融與算法:
第一篇:金融介紹
第二篇:量化投資與python
第三篇:ipython基礎(chǔ)認(rèn)識(shí)
第四篇:numpy數(shù)組運(yùn)算,事例代碼
第五篇:pandas數(shù)據(jù)分析,事例代碼
第六篇:matplotlib繪圖可視化,事例代碼
第七篇:金融分析實(shí)例(了解)
第八篇;算法基礎(chǔ)(理論),實(shí)例代碼
第九篇:排序lowB三人組,示例代碼
第十篇:NB三人組,示例代碼
第十一篇:算法進(jìn)階、其它(了解)
第十二篇:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)實(shí)例代碼
第十三篇:設(shè)計(jì)模式、設(shè)計(jì)模式實(shí)例代碼