python中none是什么類型_如何在Python中”測試”None類型?

我有一個方法,它有時返回一個非類型的值。那么我怎樣才能質疑一個非類型的變量呢?例如,我需要使用if方法

if not new:

new = '#'

我知道這是錯誤的方式,我希望你理解我的意思。

我想這是在這里回答的,顯然是在以前的某個地方。

如果您的方法返回的值只有bool(returnValue)等于False,那么if not new:應該可以正常工作。這有時發生在內置libs中——例如,re.match返回none或truthy match對象。

也可以在這里看到我關于python中的null和None的答案。

So how can I question a variable that is a NoneType?

使用is運算符,如下所示

if variable is None:

為什么會這樣?

由于None是python中NoneType唯一的單例對象,所以我們可以使用is操作符來檢查變量中是否有None。

引用is號文件,

The operators is and is not test for object identity: x is y is true if and only if x and y are the same object. x is not y yields the inverse truth value.

由于只有一個None實例,因此is是檢查None的首選方法。

從馬嘴里聽到

引用了python的編碼風格指南-pep-008(由guido自己共同定義)。

Comparisons to singletons like None should always be done with is or is not, never the equality operators.

if variable is None:

...

if variable is not None:

...

根據亞歷克斯·霍爾的回答,也可以用isinstance來完成:

>>> NoneType = type(None)

>>> x = None

>>> type(x) == NoneType

True

>>> isinstance(x, NoneType)

True

isinstance也是直觀的,但其復雜之處在于,它需要一條線。

NoneType = type(None)

這對于像int和float這樣的類型是不需要的。

由于你不能將NoneType分為子類,由于None是單體,因此不應使用isinstance來檢測None,而應按照公認的答案進行,并使用is None或is not None。

不在python3.6.7上工作

正如亞倫希爾的命令所指出的:

Since you can't subclass NoneType and since None is a singleton, isinstance should not be used to detect None - instead you should do as the accepted answer says, and use is None or is not None.

原始答案:

然而,最簡單的方法是,除了豆蔻的答案之外,如果沒有額外的行,可能是:isinstance(x, type(None))

So how can I question a variable that is a NoneType? I need to use if method

使用isinstance()不需要if語句中的is:

if isinstance(x, type(None)):

#do stuff

附加信息您還可以在一個isinstance()語句中檢查多個類型,如文檔中所述。只需將類型編寫為元組即可。

isinstance(x, (type(None), bytes))

由于你不能將NoneType分為子類,由于None是單體,因此不應使用isinstance來檢測None,而應按照公認的答案進行,并使用is None或is not None。

這個答案對python 3.6.7很有用。

Python 2.7:

x = None

isinstance(x, type(None))

isinstance(None, type(None))

=真

由于你不能將NoneType分為子類,由于None是單體,因此不應使用isinstance來檢測None,而應按照公認的答案進行,并使用is None或is not None。

哦,好吧!謝謝!

希望這個例子對您有所幫助)

print(type(None) # NoneType

所以,您可以檢查變量名的類型

#Example

name = 12 # name = None

if type(name) != type(None):

print(name)

else:

print("Can't find name")

不確定這是否回答了問題。但我知道我花了一段時間才弄明白。我在瀏覽一個網站,突然作者的名字不在了。所以需要一個支票聲明。

if type(author) == type(None):

my if body

else:

my else body

在這種情況下,author可以是任何變量,None可以是您要檢查的任何類型。

由于None是單體的,所以不應使用type來檢測None—而是應按照公認的答案進行,并使用is None或is not None。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457743.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457743.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457743.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 一個文件調用另一個文件的函數模板

筆記 實驗得出 函數模板只能被本文件調用,這一點與inline函數和靜態函數相似 ,如果函數模板可能被其他文件調用 可以把函數模板定義在頭文件中。與inline函數相同,在不同文件可以定義同名同模板列表同函數參數的函數模板,甚至函數…

GO 語言筆記

使用 Visual Studio Code 開發環境配置請看 http://studygolang.com/articles/8851 為什么要使用Go 語言?Go 語言的優勢在哪里? - Go 語言- 知乎 請看 https://www.zhihu.com/question/21409296 基礎入門看官網 https://golang.org/ & 無聞 http…

python os讀取文件名_Python3基礎 os.path.splitext 處理文件名,得到文件名+擴展名

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""Author : 行初心Date : 18-10-2Blog : www.cnblogs.com/xingchuxinGitee : gitee.com/zhichengjiu"""import osdef main():file_name_…

自己寫的幾個常用到的函數

<?php /* * 生成指定數量和指定字符串生成隨機字符串 * param int $len 獲取隨機字符的個數 * param string $range 指定在該字符串中獲取隨機字符 */ function randomString($len,$range){ if($range ){ $str 0123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNP…

我有話說

歡迎留言&#xff01;

qtreewidget 獲取根節點_詳解去中心化信任根dRoT技術

近日&#xff0c;第21屆國際信息與通信安全會議(ICICS 2019)在北京召開。ICICS是國際公認的網絡與信息安全類頂級學術會議&#xff0c;匯聚了國內外諸多信息安全專家與學術泰斗。本屆ICICS 2019會議圍繞信息與網絡安全技術的各個方面展開深入研討&#xff0c;議題涵蓋了區塊鏈、…

反向代理服務器的工作原理

http://blog.csdn.net/keyeagle/article/details/6723408轉載于:https://www.cnblogs.com/figofifa/p/5604407.html

Linux命令:bash腳本編程--腳本

練習&#xff1a;寫一個腳本adminuser33.sh&#xff0c;其用法格式為&#xff1a;adminuser33.sh --add -del -h|--help -v|--verbose其中&#xff0c;-h選項只能單獨使用&#xff0c;用于顯示幫助信息&#xff1b;--add選項時&#xff0c;新增用戶&#xff1b;如果同時使用了-…

python實參_python的形參和實參

Python中函數參數的傳遞是通過“賦值”來傳遞的。但這條規則只回答了函數參數傳遞的“戰略問題”&#xff0c;并沒有回答“戰術問題”&#xff0c;也就說沒有回答怎么賦值的問題。函數參數的使用可以分為兩個方面&#xff0c;一是函數參數如何定義&#xff0c;二是函數在調用時…

校招碎碎念

前兩天拿了去哪兒(Qunar)的offer&#xff0c;不打算接著找了&#xff0c;心累&#xff0c;結束我的校招生涯吧&#xff0c;寫寫這段時間的經歷。 本科生一只&#xff0c;普通一本&#xff0c;非211/985學校&#xff0c;出了省就沒人認那種&#xff0c;計算機專業&#xff0c;目…

pyQuery

pyquery – PyQuery complete API 選擇器基本支持jQuery用法 class pyquery.pyquery.PyQuery(*args, **kwargs)The main class class FnHook for defining custom function (like the jQuery.fn): >>> fn lambda: this.map(lambda i, el: PyQuery(this).outerHtml())…

python配置pip_Python pip源配置

pipy國內鏡像目前有&#xff1a;Win7下配置pip源&#xff1a;1、在win7用戶目錄下創建pip目錄&#xff0c;以用戶user為例&#xff1a;C:\Users\user\pip2、在pip目錄下新建pip.ini文件&#xff1a;C:\Users\user\pip\pip.ini3、配置文件內容&#xff1a;以下是一個簡單的配置示…

Github Pages建立個人博客

使用Github Pages可以建立個人博客。官方教程&#xff1a;https://pages.github.com/步驟&#xff08;以下步驟中假設用戶名為username&#xff09;&#xff1a;1.建立一個項目&#xff0c;項目名為username.github.io2.初始化項目&#xff0c;上傳網頁代碼到github。轉載于:ht…

判斷該網頁是在什么設備打開。

為什么80%的碼農都做不了架構師&#xff1f;>>> <script type"text/javascript"> //判斷訪問終端 var browser{versions:function(){var u navigator.userAgent, app navigator.appVersion;return {trident: u.indexOf(Trident) > -1, //IE內…

python變量和常量_python變量與常量內容:

python變量與常量內容:# 變量&#xff1a;定義世間萬物變化的狀態height 180weight 140age 18tree_name yuyang# print(180)height 180print(height:, height)weight 140print(weight:, weight)age 18print(age:, age)tree_name yuyangprint(tree_name:, tree_name)# 變量的…

EF二級緩存

https://efcache.codeplex.com/ 轉載于:https://www.cnblogs.com/shiningrise/p/5612941.html

python wordpress xmlrpc_python-markdown自動發送wordpress文章(python-xmlrpc-wordpress)

一直熱衷使用Markdown&#xff0c;使用了圖床&#xff0c;以及多款的MD編輯器。wp的后臺太重了&#xff0c;又不想轉 hexo git &#xff0c;對于文章上傳至博客&#xff0c;總想辦法折騰怎么上傳wordprss。之前的解決辦法就是&#xff0c;直接將MD編輯器生成的html復制到wordp…

Android 5.1 - 狀態欄充電標志問題

Android 5.1 Ubuntu14.04 SourceInsigh電量已滿&#xff0c;插著USB頭&#xff0c;觀察Settings - Battery&#xff0c;電量為100%&#xff0c;狀態為full&#xff0c;但仍有充電圖標rust之前有讀過關于StatusBar的代碼。這次直接用SourceInsight找到 StatusBarHeaderView.jav…

kail中tools的安裝和第一個php學習筆記

安裝tools 打開 鼠標右擊選擇 創建文件夾 mkdir cdrom 把tools文件復制到 位置——計算機——cdrom文件夾下 打開 cdrom cd cdrom 復制生成的目錄 解壓文件夾&#xff1a;tar zxvf 粘貼目錄 回車 ls 復制目錄 cd 粘貼目錄 ls 復制后綴為pl的目錄 ./粘貼目錄.d自動下載 Enjoy代表…

面試進階題集錦-持續更新

面向對象的”六原則一法則” - 單一職責原則&#xff1a;一個類只做它該做的事情。&#xff08;單一職責原則想表達的就是”高內聚”&#xff0c;寫代碼最終極的原則只有六個字”高內聚、低耦合”&#xff0c;所謂的高內聚就是一個代碼模塊只完成一項功能&#xff0c;在面向對象…