python中星号怎么打出来_Python中的星号符号
Python中的星号实际上只是标准的乘法运算符*.它映射到它所操作的对象的
__mul__方法,因此可以重载以具有自定义含义.这与if或print无关.
在字符串(str和unicode)的情况下,它已被重载/重写以表示重复字符串,使得“foo”* 5评估为“foofoofoofoofoo”.
>>> 'foo' * 5 # and the other way around 5 * "foo" also works
'foofoofoofoofoo'
而“Fizz”*(i%3 == 0)只是一个“聪明”的简写:
"Fizz" if i % 3 == 0 else ""
这是因为表达式i%3 == 0计算为布尔值,而布尔值是Python中整数的子类型,因此True == 1和False == 0,因此如果将“字符串”与“布尔”“相乘” ,你要么得到相同的字符串或空字符串.
注意:我还要注意,根据我的经验/理解,Python中不鼓励这种类型的编程风格 – 它使代码的可读性降低(对于新手和老朋友而言)并且不会更快(并且在事实上,可能更慢;请参阅http://pastebin.com/Q92j8qga以获得快速基准(但有趣的是,不是在PyPy:http://pastebin.com/sJtZ6uDm中)).
并且*也适用于列表和元组的实例:
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> (1, 2, 3) * 3
(1, 2, 3, 1, 2, 3, 1, 2, 3)
class Foo(object):
def __mul__(self, other):
return "called %r with %r" % (self, other)
print Foo() * "hello" # same as Foo().__mul__("hello")
输出:
called <__main__.Foo object at 0x10426f090> with 'hello'
*被映射到__mul__的情况也适用于“原始”类型,例如int,float等,因此3 * 4相当于(3).__ mul __(4)(和其他运算符相同).实际上,您甚至可以为int子类化并为*提供自定义行为:
class MyTrickyInt(int):
def __mul__(self, other):
return int.__mul__(self, other) - 1
def __add__(self, other):
return int.__add__(self, other) * -1
print MyTrickInt(3) * 4 # prints 11
print MyTrickyInt(3) + 2 # prints -5
…但请不要这样做:)(事实上,完全保持子类化混凝土类型的干净并没有伤害!)
python中星号怎么打出来_Python中的星号符号相关推荐
- Python基础_第3章_Python中的循环结构
Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...
- Python基础_第5章_Python中的数据序列
Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...
- python中num是什么意思_python中的number类型
python中的number具体分为: int(有符号整型) long(长整型[也可以代表八进制和十六进制]) float(浮点型) complex(复数) 变量命名: a=1 整数型 b=1.0 浮 ...
- python post与get的区别_python中get和post有什么区别
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...
- python深复制与浅复制_Python中的深拷贝和浅拷贝详解
要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...
- python运行mcmc为何老出错_python中mcmc方法的实现
MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...
- python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续
上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...
- python计算数组元素的和_python中数组的运算
Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...
- python中格式化字符串的作用_python中字符串格式化的意义(化妆)
格式 描述 %%百分号标记 #就是输出一个% %c字符及其ASCII码 %s字符串 %d有符号整数(十进制) %u无符号整数(十进制) %o无符号整数(八进制) %x无符号整数(十六进制) %X无符号 ...
- python中 r是什么意思_python中rb含义理解
Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 文件使用方式标识 'r':默认值,表示从文件读取数据 'w':表示要向文件写入数据,并截断以前 ...
最新文章
- spark Tachyon
- netty tcp服务端主动断开客户端_「Netty核心技术」6-ChannelPipeline源码
- 类的继承私有成员问题
- Spring 3 RESTful Web服务
- python beautiful soup 标签完全相同_Python爬取Python教程并制作成pdf
- python中pop()与pop(0)的时间复杂度区别
- NXLog采集windows日志配置conf文件
- easy chm 绿色免安装版
- Resnet 18网络模型
- 利用VMWare和软路由多播实现校园网带宽叠加
- java中数组倒叙复制输出
- python 知乎 合并 pdf_怎么把多个pdf合并在一起?
- 微信小程序开发账号找回
- 力扣第235题“二叉搜索树的最近公共先祖”的解题思路
- WebGL 及其在 WebRTC 中的应用
- ibatis之——sqlMapConfig.xml配置文件详解
- O记遭遇罗生门,未来是云原生数据库的!
- 基于Node.js平台的Express教程
- SH86260 芯片 苹果夹子 mp3 修复....
- PDERL:基于DEM的快速精确通视域分析算法介绍(一)