python中的isi(深入浅析Python 中 is 语法带来的误解)
python中的isi
深入浅析Python 中 is 语法带来的误解起步
python 的成功一个原因是它的可读性,代码清晰易懂,更容易被人类所理解,但有时可读性会产生误解。
假如要判断一个变量是不是 17,那可以:
if x is 17:
x 是 17 肯定是比 x == 17 更加口语化的。
is的误解
但是如果你尝试:
if name is "weapon":
这个判断不见得管用。is 用来检查左侧和右侧是否是完全相同的对象。如果有两个不同的字符串对象,每个对象的值是相同的,应该使用 == 来判断,因为 is 的用法与口语上的区别挺大的:
if 999 + 1 is 1000: # false
正因为这样的误解,在 if 判断条件上容易让初学者掉坑:
|
answer = 'yes' if answer is 'y' or 'yes' : |
你会发现不管变量是什么值,判断都是为真。因为 is 的优先级高,相当于 if (answer is 'y') or ('yes') 。
正确的方法应该是 if answer == 'y' or answer == 'yes' 或者 if answer in ('y', 'yes') 。
is not 上的混淆
|
>>> 'something' is not none true >>> 'something' is ( not none) false |
is not 是一个二元运算符,应该视为一个整体,不要因为中间空格而当成两个词。底层上,它们也是一个操作符,cpython 将 s is not none 翻译成的字节码为:
|
6 load_name 0 (s) 8 load_const 1 (none) 10 compare_op 9 ( is not ) |
is not 是对 is 相对应的操作符。也可以视为是将 is 判断的结果再进行取反。
总结
我同意 python 非常易读。每种语言的结构都存在一些“出乎意料”的使用。这并不影响我对 python 这门语言的喜爱,每个人都应该好好学习,并小心使用选择的语言。
以上所述是小编给大家介绍的python 中 is 语法带来的误解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://segmentfault.com/a/1190000019085547
- python抓取贴吧标题和图片代码(Python实现的爬取百度贴吧图片功能完整示例)
- python获取txt文件内容(使用python读取.text文件特定行的数据方法)
- python中tkinter模块窗口操作(详解python tkinter教程-事件绑定)
- python和java的共同语法(Python和Java的语法对比分析语法简洁上python的确完美胜出)
- python微信自动化(python微信撤回监测代码)
- python字符串之基本操作小练习(Python数据类型之String字符串实例详解)
- python如何遍历一个列表(说说如何遍历Python列表的方法示例)
- python什么是深拷贝什么是浅拷贝(Python深拷贝与浅拷贝用法实例分析)
- python 多进程读取文件(Python实现的多进程拷贝文件并显示百分比功能示例)
- python图书管理系统(python面向对象法实现图书管理系统)
- python实现数据的预测(Python基于scipy实现信号滤波功能)
- pyqt一键部署python环境(python使用PyQt5的简单方法)
- python支持面向对象的程序设计(Python面向对象程序设计之类的定义与继承简单示例)
- python合并多个excel可以刷新吗(python 实现读取一个excel多个sheet表并合并的方法)
- 用python图片转字符串(python实现图片转字符小工具)
- python自定义定时任务(python的schedule定时任务模块二次封装方法)
- 盘点那些年让人称奇的年终奖 最后一个赢辣条毫无悬念(盘点那些年让人称奇的年终奖)
- 你还没有升职吗 他竟因为几套激励理论,升职了(你还没有升职吗)
- 某知名企业绩效管理体系及薪酬分配体系操作手册(某知名企业绩效管理体系及薪酬分配体系操作手册)
- 职场人改不掉这4个习惯,只会越混越穷,一辈子也翻不了身(职场人改不掉这4个习惯)
- 华为 联想等46家公司笔试面试题,涉及各行各业,建议收藏(联想等46家公司笔试面试题)
- ()
热门推荐
- SQL Server中raiserror
- php 经典模式(php设计模式之装饰模式应用案例详解)
- html5css3旋转特效效果(一款利用html5和css3实现的3D立方体旋转效果教程)
- python代码返回值(Python 函数返回值的示例代码)
- sql统计天数怎么算(SQL对数据进行按月统计或对数据进行按星期统计的实例代码)
- python语言支持多态(Python实现多态、协议和鸭子类型的代码详解)
- css3动画让元素绕着圆圈转动(css3动画过渡实现鼠标跟随导航效果)
- python如何编写定时器(python 定时器,轮询定时器的实例)
- dedecms如何使用标签(DEDECMS副栏目代码)
- php静态变量的含义(PHP中define 与 const定义常量的区别详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9