Hatena::Grouppython

Pythonの覚書

2012-11-27

NoneTypeの型判定

18:48 | NoneTypeの型判定 - Pythonの覚書 を含むブックマーク はてなブックマーク - NoneTypeの型判定 - Pythonの覚書 NoneTypeの型判定 - Pythonの覚書 のブックマークコメント

type(spam)の戻り値で型判定をやっていたが、それは古い方法らしい。ほんとか?

isinstance()を使うのが新しいやり方らしい。

ちょっと使ってみた。

せっかくなんで、NoneTypeかどうかの型判定をしてみた。

nにNoneを代入

>>> n=None

nの値を出力

>>> n

何も返却されない

nの型を出力

>>> type(n)
<type 'NoneType'>

NoneTypeであるようだ。

nとNoneTypeを型判定

>>> isinstance(n,NoneType)

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    isinstance(n,NoneType)
NameError: name 'NoneType' is not defined

NoneTypeは未定義と怒られた・・・。

んじゃ、Noneと比較すればいいのか?!

nとNoneを型判定

>>> isinstance(n,None)

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    isinstance(n,None)
TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types

クラスか型かタプルが引数として必要だと怒られた。


nとtype(None)を型判定

>>> isinstance(n,type(None))
True

これはTrueらしい。

使い方が間違っているかもしれないが、

isinstance(n,type(None))でNoneかどうかのチェックは出来そう。

CとかJavaで言うところのnullチェック的な。

Alice1017Alice10172012/11/28 16:10PythonでNoneかどうかを判定するなら==演算子を使えばできますよ。

>>> a = None
>>> if a == None:
... print "None"
...
None

oneshotlife_tomoneshotlife_tom2012/12/01 23:50>>Alice1017さん
コメントありがとうございます。
Noneの場合は、isとか==で比較出来るわけですね。

これがstrとかの場合だと、
>>> s = "Hello"
>>> s is str
False
>>> s == str
False

判定出来ないわけで。

この場合は、
>>> isinstance(s,str)
True

で、判定出来る。

Noneの場合と、その他のデータ型の場合で、判定の手段とかが違うのが、ちょっと違和感有りです。Noneだけ特殊だとか、扱いが違うとか、そういうことなんでしょうね。おそらく。

>>> type(str)
<type 'type'>
>>> type(None)
<type 'NoneType'>

type()で型を調べると、
データ型が違いますもんね。

isinstance()はあくまでtype'type'の型判定のためのものだと理解しておきます。

また何かありましたら、ご教授下さい。

oneshotlife_tomoneshotlife_tom2012/12/01 23:51ちょっとテスト。

コメント欄でもはてな記法使えるのかどうかを勝手にテスト。
>|python|
print "Hello,World!"
||<

oneshotlife_tomoneshotlife_tom2012/12/01 23:52↑やっぱ、使えないのか・・・。

XoshnavXoshnav2013/06/18 06:18Thanks for helnipg me to see things in a different light.

ifcxybnvifcxybnv2013/06/19 20:49IfdMVM , [url=http://qbpzpovsazkz.com/]qbpzpovsazkz[/url], [link=http://sulrbigmavnu.com/]sulrbigmavnu[/link], http://isbrpvuyavkk.com/

zmvkwixhzmvkwixh2013/06/19 20:49uhEg9I , [url=http://kzsznztevnvv.com/]kzsznztevnvv[/url], [link=http://oxssicjrifgt.com/]oxssicjrifgt[/link], http://mpqoeqfzxptm.com/

lkzjtblkzjtb2013/06/20 04:461lXH0s <a href="http://fcfxgrurhzcd.com/">fcfxgrurhzcd</a>

nrgkftelumnnrgkftelumn2017/08/26 22:59payday loans for bad credit <a href="http://cashadvances2017.com"> what is a payday loan</a> <a href="http://cashadvances2017.com"> payday loans no credit check</a> <a href=http://cashadvances2017.com>payday loans with no bank account</a> direct payday loan lenders

nviqakelumnnviqakelumn2017/09/09 18:27payday loan interest rates <a href="http://paydayloans2017.com"> instant payday loans</a> <a href="http://paydayloans2017.com"> payday loan online</a> <a href=http://paydayloans2017.com>payday loans direct lenders only</a> quick payday loans

nyepdselumnnyepdselumn2017/09/14 07:08fast auto and payday loans <a href="http://paydayloans2017.com"> what is a payday loan</a> <a href="http://paydayloans2017.com"> payday loans</a> <a href=http://paydayloans2017.com>guaranteed payday loans</a> 3 month payday loans

nkhmnielumnnkhmnielumn2017/09/18 17:54usa payday loans <a href="http://paydayloans2017.com"> legitimate payday loans online no credit check</a> <a href="http://paydayloans2017.com"> payday loan</a> http://paydayloans2017.com - payday loans with no bank account payday loan direct lender

TimothynearTimothynear2018/02/09 05:35I’d need to test with you here. Which isn't something I often do! I get pleasure from studying a put up that will make individuals think. Additionally, thanks for permitting me to comment! http://hellowh983mm.com

MarkozmatMarkozmat2018/02/22 09:55Сегодня такое время, что не всегда получается разрешить конфликт комфортно и выгодно. В некоторых случаях приходится пользоваться помощью адвокатов, которые разбираются в юридическом секторе. Эти компании компетентны в разнообразных нюансах и смогут оказать вам юридическое содействие.

Существует компания в Санкт-Петербурге и участвует в правовом сопровождении. Найти более подробную справку об сервисе фирмы <a href=http://jurist-piter.ru>помощь адвоката ленинградская область</a> реально тут.

Сегодня достаточно лиц состоят в адвокатской помощи на премиум уровне. Однако, правовая система в РФ представлена не на премиум уровне. По этой причине проявляется много нюансов, которые приходится ликвидировать в судебном процессе. Все жители РФ и иностранцы могут обращаться в юридическую консультацию.

Специалисты понимают, что сделать первые шаги разным людям очень сложно. Именно по этой причине консультанты идут навстречу и содействуют в некоторых вопросах.
Компания оказывает помощь юрист менеджера в любое удобное для вас время. Вы сможете выбрать услуги юриста и разобраться со всеми тонкостями множества законов. Правовые менеджеры в СПБ сейчас являются необходимыми во многих вопросах.

С помощью jurist-piter.ru вы имеете возможность ликвидировать юридические вопросы в иммиграции, с продажей машины или приобретением недвижимости.

MascarComMascarCom2018/02/22 21:05Вы в поиске организации, которая возведёт вам мойку самообслуживания под ключ? Есть интерес сделать автомойку, которую откровенно реально назвать молодой быстроразвивающейся компанией? В этом случае вы на нужном пути!

В этот период эпоха современных технологий. Поэтому каждая фирма хочет создать что-то интересное. Отрасль услуг активно прогрессирует.

Сервис не стоят на месте. У тебя также есть вероятность начать эксплуатировать инфо технологии. Для этого вы имеете шанс обратиться в компанию WASHERCAR, которая поможет в <a href=http://washercar.com/>бизнес под ключ мойка самообслуживания</a> . У компании присутствует огромный опыт работы.

Менеджеры смогут предоставить вам возможность выбрать: купить готовую мойку самообслуживания или разработать автомойку самообслуживания под личные нужды.
Бесконтактные мойки самообслуживания – это передовое направление, которое захватит будущее в этой отрасли. Компания, которую вы имеете шанс выбрать на washercar.com, может предоставить вам франшизу.

ManszaJaxManszaJax2018/02/25 18:32Вы в ищите компанию, которая соорудит вам мойку самообслуживания под ключ? Есть интерес соорудить мойку, которую смело реально назвать startup? В этом случае вы на правильном пути!

Сейчас эпоха инновационных технологий. Поэтому любая компания стремится создать что-то новое. Сфера веб-услуг активно совершенствуется.

Обслуживание не стоят на месте. У вашей компании также есть возможность начать использовать инфо технологии. Для этого вы имеете шанс обратиться в организацию WASHERCAR, которая поможет в <a href=http://washercar.com/>мойка самообслуживания под ключ купить цена</a> . У компании есть большой опыт работы.

Сотрудники имеют шанс предоставить вам вероятность сделать выбор: купить готовую автомойку самообслуживания или построить мойку самообслуживания под личные требования.
Бесконтактные мойки самообслуживания – это высоколиквидное направление, которое захватит будущее в этом сегменте рынка. Фирму, которую вы имеете возможность выбрать на washercar.com, может выделить вам франшизу.

Buy Essay Buy Essay 2018/02/25 20:56great college essays <a href="http://essays.store">essay discussion</a> write essays for me <a href=http://essays.store>scholarship essays</a>

GuestoxideGuestoxide2018/05/01 01:15guest test post
<a href=" http://temresults2018.com/ ">bbcode</a>
<a href="http://temresults2018.com/">html</a>
http://temresults2018.com/ simple

GuestoxideGuestoxide2018/05/04 22:31guest test post
<a href=" http://temresults2018.com/ ">bbcode</a>
<a href="http://temresults2018.com/">html</a>
http://temresults2018.com/ simple