python为什么closed_为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed])...

为什么python类的函数被调用两次[关闭](Why a function of python class is called twice [closed])

我遇到了两次调用的python类函数的问题。 我正在使用Spyder IDE。

这是我的简单代码

class Test:

def f(self):

print("a")

from Test import *

t = Test()

t.f()

当我按“运行文件”按钮...结果是

a

a

但当我尝试突出显示所有内容并按“运行单元格”时...结果是

a

我想知道当我按“运行文件”时会发生什么,以及如何解决这个问题。

非常感谢

I am having a problem with the function of python class that is called twice. I am using Spyder IDE.

Here is my simple code

class Test:

def f(self):

print("a")

from Test import *

t = Test()

t.f()

When I press "Run File" button...the result is

a

a

But when I try to highlight everything and press "Run Cell"...the result is

a

I would like to know what happen when I press "Run File" and how to solve this issue.

Many thanks

原文:https://stackoverflow.com/questions/42620635

2020-02-19 17:30

满意答案

因为你应该导入模块 ,而不是类。 因此,当您from Test import *执行操作时from Test import *您正在运行所有代码,其中包括实例化和调用f方法。 导入后,你实例化并再次调用它,这就是它被打印两次的原因,因为它正在运行两次。

Because you should import modules, not classes. So when you are doing from Test import * you are running all your code, which includes the instantiation and call to the f method. And after importing you are instantiating and calling it again, so that's the reason it is being printed twice, because it is being run twice.

2017-03-06

相关问答

这可能不直接回答你的问题,但一定会有帮助。 如果使用具有选项--sort累积的分析器,它将按累积时间对功能进行排序。 这有助于检测不仅重要的功能,而且检测它们的功能。 python -m cProfile --sort cumulative myScript.py

有一个解决方法来获取调用者的功能: import inspect

print inspect.getframeinfo(inspect.currentframe().f_back)[2]

您可以添加任意数量的f_back,以防您想要...

您的代码段中未调用此函数两次。 我假设我们还没有看到更多的代码,它们调用myFunction ; 然后,调用该函数两次的目的是显示排序函数的效果。 假设在显示函数之后调用myFunction ,程序将执行以下操作: 以他们开始的(未分类)顺序显示汽车 运行myFunction对汽车进行排序,然后再次显示它们 这将允许用户在排序之前和之后查看汽车列表之间的差异。 The function is not called twice in your snippet. I'm assuming there'...

class information:

def __init__(self, name, age, gender, enlistmentNum):

self.name = name

self.age = age

self.gender = gender

self.enlistmentNum = enlistmentNum

self.playerinf()

在init函数结束时调用playerinf。 在实例化...

对于你的例子, a = b.method(c); ,除了复制省略外,可能会有三份副本。 第一种是将c对象复制到函数参数x 。 第二个是从函数返回x对象的时候。 第三种是将返回值复制到对象中。 前两个涉及复制构造函数,最后一个涉及复制赋值运算符,除非您将其更改为Student a = b.method(c); ,在这种情况下,他们都使用复制构造函数。 a , b和c都将在其范围的末尾被销毁。 对象x将在method函数的末尾被销毁。 函数的返回值将在包含它的完整表达式的末尾被销毁 - 也就是说,一旦...

在我看来,如果您在测试时编写函数以不同的方式运行,那么您并没有真正测试它。 为了测试函数,我会mock.patch()数据库对象,然后检查它在函数中是否正确使用。 开始使用模拟库时最困难的事情是找到要替换的正确对象 。 在您的示例中,如果在your_module从Database_IO模块导入Database_read对象,则可以使用类似于以下内容的代码对其进行测试 with mock.patch('your_module.Database_read') as dbread_mock:

#...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php关联数组和哈希表,php遍历哈希表及关联数组的实例代码

有关php数组的分类,PHP数组分为:数字索引数组和关联数组。其中数字索引数组和C语言中的数组一样,下标是为0,1,2…而关联数组下标可能是任意类型,与其它语言中的hash,map等结构相似。PHP遍历关联…

数字校园-云资源平台 2014.10.26-人人通共享空间

近期,教育部在统计学校信息化建设情况,当中一项重要内容,作为三通两平台的一个环节,就是学校开通人人通空间的情况,网上普及了一下知识,不就是十多年前就玩的学校博客的变种吗,网上有一些产品,也是没有热闹起来,为要求而要求的多,既然要求,就来一个吧,花了几天时间,也做了一个.…

VUE.js 中取得后台原生HTML字符串 原样显示问题

今天使用vue调试页面,发现了页面上的一个问题,后台数据传过来的HTML字符串并没有被转换为正常的HTML代码,一拍脑门,发现忘记转换了,于是满心欢喜加上了{{{}}}。但是之后构建发现报错: 为此去官网上查了下…

高性能持久消息

总览 尽管有许多可用于Java的高性能消息传递系统,但大多数都避免引用基准,包括持久消息传递和消息的序列化/反序列化。 这样做有很多原因。 1)您并不总是需要或想要持久消息2)您希望使用自己的序列化选项。 避免使用它们的一个重要…

python去掉重复内容并按原来次序输出元素_在Python中,从列表中删除重复项以使所有元素在保留顺序时都是唯一的最快的算法是什么?...

饮歌长啸使用方法:lst [8, 8, 9, 9, 7, 15, 15, 2, 20, 13, 2, 24, 6, 11, 7, 12, 4, 10, 18, 13, 23, 11, 3, 11, 12, 10, 4, 5, 4, 22, 6, 3, 19, 14, 21, 11, 1, 5, 14, 8, 0, 1, 16, 5, 10, 13, 17, 1, 16, 17, 12, 6, 10, 0, 3, 9, 9, 3, 7, 7, 6, 6, 7, 5, 1…

Lucene –快速添加索引和搜索功能

什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库。 它是一项适用于几乎所有需要全文搜索的应用程序的技术,尤其是跨平台的应用程序。 Lucene可以纯文本,整数,索引PDF,Of…

td 双击 编辑 php,双击表格td进行编辑

$(function(){//隔行换色// $("tbody tr:odd").css("background-color","#eee");var numId $(".tbody td");numId.dblclick(function(){var tdIns $(this);var tdpar $(this).parents("tr");//tdpar.remove();//current_…

前端开发之基础知识-HTML(一)

1.1 html概述和基本结构 html概述 HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标签组成,用…

nodejs的async异步编程

函数有: series waterfall parallel parallelLimit … series函数 串行执行 它的作用就是按照顺序一次执行。 async.series({ one: function(callback){ callback(null, 1); }, two: function(callback){ callback(null, 2); } },function(err, results) { conso…

《深入理解Java虚拟机》读书笔记3--垃圾回收算法

转载:http://blog.csdn.net/tjiyu/article/details/53983064 下面先来了解Java虚拟机垃圾回收的几种常见算法:标记-清除算法、复制算法、标记-整理算法、分代收集算法、火车算法,介绍它们的算法思路,有什么优点和缺点,…

python常用函数中文_【python】python常用函数

urlencode与urldecode当url中包含中文或者参数包含中文,需要对中文或者特殊字符(/、&)做编码转换。urlencode的本质:把字符串转为gbk编码,再把\x替换成%。如果终端是utf8编码的,需要把结果再转成utf8输出,否则会乱…

带有批注的Spring硒测试

这篇文章描述了如何在Java中实现Selenium测试。 它的灵感来自Alex Collins的帖子,并带有注释。 该代码可在GitHub的Spring-Selenium-Test目录中找到。 一些替代方法和更轻巧的技术可用于对Spring MVC应用程序进行单元测试。 要进行单元测试服务,请参见此…

sizeof运算符

sizeof是一个单目运算符&#xff0c;它的运算对象是变量或数据类型&#xff0c;运算结果为一个整数。运算的一般形式如下: sizeof(<类型或变量名>) 它只针对数据类型&#xff0c;而不针对变量&#xff01; 若运算对象为变量&#xff0c;则所求的结果是这个变量占用的内存…

oracle 日志切换太频繁,诊断一次Oracle日志切换频繁的问题

日志切换&#xff0c;就是生成的日志太大&#xff0c;数据块的变化太频繁。Snap IdSnap TimeSessionsCursors/SessionBegin Snap:1456009-Dec-15 04:00:48594.5End Snap:1456109-Dec-15 05:00:59544.6Elapsed:60.19 (mins)DB Time:82.47 (mins)1s产生2M的日志。Per SecondPer T…

Flex布局(一)flex-direction

采用Flex布局的元素&#xff0c;被称为Flex容器(flex container)&#xff0c;简称"容器"。其所有子元素自动成为容器成员&#xff0c;成为Flex项目(Flex item)&#xff0c;简称"项目" Flex-direction调整主轴方向&#xff08;默认为水平方向&#xff09;包…

【升级版】如何使用阿里云云解析API实现动态域名解析,搭建私有服务器【含可执行文件和源码】...

原文地址&#xff1a;http://www.yxxrui.cn/article/179.shtml 未经许可请勿转载&#xff0c;如有疑问&#xff0c;请联系作者&#xff1a;yxxrui163.com 我遇到的问题&#xff1a;公司的网络没有固定的公网IP地址&#xff0c;但是需要能够保证的是&#xff0c;每次动态分配的I…

Java管理扩展

什么是JMX&#xff1f; Java管理扩展&#xff08;JMX&#xff09;是一种API&#xff0c;用于管理或监视各种资源&#xff0c;例如应用程序&#xff0c;设备&#xff0c;服务&#xff0c;当然还有JVM。 通过Java社区流程&#xff08;JCP&#xff09;开发&#xff0c;JMX技术被构…

登录网页后要弹出一个新标签_连永久链接都不会,还做什么新媒体?

上次给主编大大发的预览链接失效了&#xff0c;被骂得狗血淋头。大部分运营人可能都遇到过这种情况&#xff0c;忽视了预览生成的链接只是临时的&#xff0c;在12小时后或超过500阅读量后就会失效。一个疏忽&#xff0c;给自己带来了不必要的麻烦&#xff0c;耽误工作&#xff…

混频通信的matlab仿真,基于MATLAB的扩频通信系统仿真研究—上海交通大学

基于MATLAB 的扩频通信系统仿真研究范伟 翟传润 战兴群(上海交通大学电子信息与电气工程学院&#xff0c;200030&#xff0c;上海)摘要 本文阐述了扩展频谱通信技术的理论基础和实现方法&#xff0c;利用MATLAB 提供的可视化工具Simulink 建立了扩频通信系统仿真模型&#xff0…

static_cast与dynamic_cast转换

static_cast与dynamic_cast转换   一 C语言中存在着两种类型转换&#xff1a; 隐式转换和显式转换 隐式转换&#xff1a;不同数据类型之间赋值和运算&#xff0c;函数调用传递参数……编译器完成 char ch;int i ch; 显示转换&#xff1a;在类型前增加 &#xff1a;&#xff…