首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python格式()传递一个对象

Python格式()传递一个对象
EN

Stack Overflow用户
提问于 2017-08-04 09:46:30
回答 6查看 476关注 0票数 2

如果我用Python定义以下自定义类:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Test:
    hey = 'ho'
    yo = 'go'
    fo = 'sho'

在使用string format()方法只需传入我的对象一次,然后在所有参数中访问该对象时,是否有任何方式。理想情况下,我希望能够做这样的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test_class = Test()
print "Hey {0.hey}, let's {1.yo}. Fo' {2.sho}".format(test_class)

但我必须这么做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test_class = Test()
print "Hey {0.hey}, let's {1.yo}. Fo' {2.sho}".format(test_class, test_class, test_class)
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-08-04 09:47:59

当我发布这篇文章时,我意识到我可以仅仅是关键字的论点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test_class = Test()
print "Hey {my_class.hey}, let's {my_class.yo}. Fo' {my_class.sho}".format(my_class=test_class)

此外,根据我最初的问题,只需重用0位置参数就可以做到这一点,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test_class = Test()
print "Hey {0.hey}, let's {0.yo}. Fo' {0.sho}".format(test_class)

此外,正如Ryan在评论中指出的那样,Python 3.6+附带了新的f-字符串,这意味着我也可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test_class = Test()
print(f"Hey {test_class.hey}, let's {test_class.yo}. Fo' {test_class.sho}")
票数 4
EN

Stack Overflow用户

发布于 2017-08-04 09:49:47

正如您自己发现的,您可以使用关键字参数,但您甚至不必这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
In [4]: print("Hey {0.hey}, let's {0.yo}. Fo' {0.fo}".format(t))
Hey ho, let's go. Fo' sho

In [5]: class Test:
   ...:     hey = 'ho'
   ...:     yo = 'go'
   ...:     fo = 'sho'
   ...:

In [6]: t = Test()

In [7]: print("Hey {0.hey}, let's {0.yo}. Fo' {0.fo}".format(t))
Hey ho, let's go. Fo' sho

0将零参数引用到format,问题是您没有第一个和第二个参数,因为您不需要它。

作为旁白的警告:

而且,由于您似乎是从其他语言来使用python的,所以您可能犯了一个常见的错误。请注意,您定义类的方式;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Test:
    hey = 'ho'
    yo = 'go'
    fo = 'sho'

只使用类级变量,这些变量将像静态成员一样从其他语言借用术语.换句话说,heyyofo不是实例属性,尽管您的实例可以访问类级命名空间。看看这个答案。当然,对于这个问题来说,这并不重要,但是如果您不理解类定义的语义,它可能会导致错误。

票数 6
EN

Stack Overflow用户

发布于 2017-08-04 09:49:57

{0.hi}是指传递给format的第一个参数的“嘿嘿”属性。

因此,您只需引用正确的论点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test_class = Test()
print "Hey {0.hey}, let's {0.yo}. Fo' {0.fo}".format(test_class)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45512735

复制
相关文章
Excel如何统计重复次数
在 Excel 中有时我们会需要统计特定单元格在某个区域范围内的重复次数,虽然工具栏并没有直接提供此功能,但借助 COUNTIF 函数可以轻松的完成任务。
reizhi
2022/09/26
1.8K0
Excel如何统计重复次数
python统计元素重复次数
python统计元素重复次数 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- from collections import Counter arr = ['BAISC', 'Python', 'BASICA', 'GVBASIC', 'GWBASIC', 'Python', 'ETBASIC', 'QBASIC', 'Quick', 'Basic', 'Turbo', 'Basic'] counts = list(Counter(arr).items())
机器学习和大数据挖掘
2019/07/02
1.3K0
如何优雅的统计List集合中元素重复出现次数
统计List集合中元素出现的次数,相信大家都做过。举个例子,我们要统计集合中名字重复的次数。
Lvshen
2022/05/05
2.3K0
如何优雅的统计List集合中元素重复出现次数
WordPress实现文章浏览次数统计代码
在WordPress主题开发过程中,往往会需要统计文章的浏览次数。网上的教程也非常多,但是WordPress不断更新迭代加之PHP版本升级好多教程都是几年前甚至更早的是时候发布的,即使能用也会出现版本不兼容等问题,也是非常难受的,所以我准备了一份目前为止最新的代码给大家使用!
空木白博客
2019/08/30
1.3K0
代码实现——MapReduce统计单词出现次数
对以下txt文档进行单词出现次数统计(txt文档在/Users/lizhengi/test/input/目录下)
栗筝i
2022/12/01
9960
如何定义和统计用户的登录次数?
大家好,我是姬小光,欢迎来到我的专栏!本期我们来聊聊互联网产品的登录是怎么回事儿,以及如何合理地定义用户的登录次数。
姬小光
2020/03/09
4.4K0
如何定义和统计用户的登录次数?
Excel函数与VBA多条件统计不重复出现的次数
=SUM(IF(MATCH($B$2:$B$41&$A$2:$A$41,$B$2:$B$41&$A$2:$A$41,0)=ROW($A$1:$A$40),1,0)*($B$2:$B$41=G1))
哆哆Excel
2022/10/25
2.2K0
Excel函数与VBA多条件统计不重复出现的次数
使用 WP-Postviews 统计日志浏览次数
WP-Postviews 是我一直推荐的插件之一,它可以在统计每篇日志被浏览的次数,通过对每篇日志的统计,这样我就可以知道哪些日志受读者欢迎,并且可以实现博客日志流量 Top 10 等功能,非常方便和强大。并且最新版的 Postviews 还支持缓存,在你的博客使用 WP Super Cache 等缓存插件缓存之后,它照样还可以进行统计。
Denis
2023/04/15
6150
Python中如何统计文本词汇出现的次数?
有时在遇到一个文本需要统计文本内词汇的次数的时候,可以用一个简单的python程序来实现。
小小科
2020/04/29
4K0
如何编写可靠的代码
介绍 当你得到一个小older-my但你妻子说我不是老愤世嫉俗者。这是为什么许多老男人不要说(或写)那么多:我们知道没有人注意。当你获得AARP另一个问题是,你相信你知道什么是真理,其他的都是废话。 本着这一精神,我可以这篇文章题为“结对编程是输家,”“为什么你的代码很烂,”或“经理是白痴,”但我确信琼斯先生不会打印。我可以告诉你的是,我能写的就是我所相信的,不是你想听到的或者是受欢迎的。很多人想听或相信什么是错的。 978年我写了第一行代码。可能有人会说我在1988年第一次得到这样做,我没有做其他。,阅读
用户1289394
2018/02/27
1.4K0
Pandas中如何统计各个销售地出线的次数?
前几天在Python最强王者交流群【wen】问了一个Pandas数据处理的问题,一起来看看吧。
前端皮皮
2023/10/17
1480
Pandas中如何统计各个销售地出线的次数?
盘点对Python列表中每个元素前面连续重复次数的数列统计
前几天在Python钻石流群有个叫【周凡】的粉丝问了Python列表的问题,如下图所示。
Python进阶者
2022/06/05
2.4K0
盘点对Python列表中每个元素前面连续重复次数的数列统计
如何使用Vim编写和调试Python代码
要想在Ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置:
py3study
2020/01/13
4K0
巧用HashMap一行代码统计单词出现次数
JDK是在一直在迭代更新的,很多我们熟悉的类也悄悄的添加了一些新的方法特性。比如我们最常用的HashMap。
程序那些事
2020/09/03
4640
如何编写可怕的 Java 代码?
我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。
芋道源码
2020/03/02
9260
如何编写漂亮的 React 代码?
React 代码很难看。我不是在谈论这个框架的任何技术特性;我说的是直观的美学,代码在我屏幕上的样子,以及它所唤起的感觉。
深度学习与Python
2021/01/20
9810
如何编写可怕的 Java 代码?
我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。
Java技术栈
2020/02/21
1K0
分ip统计网站的访问次数
Map什么时候创建(使用ServletContextListener,在服务器启动时完成创建,并只在到ServletContext中),Map保存到哪里!(Map保存到ServletContext中!!!)
星哥玩云
2022/09/14
2.1K0
分ip统计网站的访问次数
如何编写可怕的Java代码?
我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。
武培轩
2019/12/12
9520
点击加载更多

相似问题

为什么+=不将变量的值相加?

218

为什么不将count作为全局值?(赋值前引用的局部变量'count‘)

118

为什么gets不将值存储在变量中?

43

JavaScript不将变量写入数字(循环)

32

不将值存储到变量

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文