通过阅读您的评论,您的实际问题似乎是:您有一个方法可以打印一些输出。如果用户调用代码,那么您希望将输出打印到终端。如果代码由另一个方法在内部调用,则不希望输出被打印。在

@mgilson建议的debug参数是一个不错的选择,但是您希望用户不知道这个选项,无论出于什么原因。在

另一种方法是在函数调用期间创建一个函数包装器来重定向stdout,然后再恢复它。像这样:import os

import sys

def suppress_print(f, *args, **kwargs):

"""Call the function f, but print to the null device

instead of the screen."""

old_stdout = sys.stdout

sys.stdout = open(os.devnull, 'w')

result = f(*args, **kwargs)

sys.stdout = old_stdout

return result

class Foo:

def bar(self):

print "This is a test."

return 42

def baz(self):

return suppress_print(self.bar)

foo = Foo()

# this should print to the terminal

foo.bar()

# this shouldn't

foo.baz()

然后,无论何时在内部调用函数,都要用suppress_print对其进行包装,输出将被压缩。请注意,这实际上是一个使用上下文管理器的好地方,但我将把它作为进一步的练习。。。在

python怎么调用类中的函数_类中的python函数调用相关推荐

  1. 在python的解释器中使用函数_浅析Windows 嵌入python解释器的过程

    这次主要记录在windows下嵌入 python 解释器的过程,程序没有多少,主要是头文件与库文件的提取. 程序平台:windows10 64 bit. Qt 5.5.1  MSVC  2013 32 ...

  2. python中sigmoid函数_机器学习中 Sigmoid 函数的物理含义

    讨论范围:二分类问题 只有 2 个分类的情况,logistic 曲线可以简化为 又叫 sigmoid 函数. 1. Python 画 Sigmoid 函数的图像 import numpy as np ...

  3. python求方差、利用return函数_基于scipy-optimiz的python中Markowitz均值-方差优化

    我试图找到10只股票组合的有效边界.我首先加载数据(data),其中包括104个周期内10只股票的周收益.然后,我使用以下代码随机化权重来绘制任意投资组合:def random_weights(n): ...

  4. python 怎么调用 矩阵 第几行_第58集 python机器学习:混淆矩阵精度指标

    混淆矩阵的精度计算公式为:精度=(TP+TN)/(TP+TN+FP+FN),也就是说,精度就是指正确的预测数目除以所有样本的数量. 准确率.召回率与f-分数:总结混淆矩阵还有几种方法,其中最常见的就是 ...

  5. matlab中blur函数_游戏中的PostProcessing(后处理)

    PostProcessing是现代游戏中必不可少的技术之一,本文简单来总结下PostProcessing的实现原理和应用.因为详细写起来需要很大篇幅且很费时间,这里只简单介绍下原理. 1.基础部分 P ...

  6. 在python中有关函数的表达正确的是_在 Python 中有关函数的表达中正确的是( )。_学小易找答案...

    [单选题]会稽有佳山水,名士多居之,爱好养生的王羲之常与( )等宴集于山阴之兰亭. [判断题]截交线既在截平面上,又在立体表面上,故截交线是截平面与立体表面的共有线,截交线上每一点均为其共有性. [单 ...

  7. 【Python】PyQt5.QtWidgets模块常用函数和类(使用参考源码)

    Python PyQt5.QtWidgets 模块常用函数和类. PyQt5 是一套Python绑定Digia QT5应用的框架. QtWidgets 是PyQt5下面的一个模块,包含了一整套UI元素 ...

  8. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  9. python里删除range里的数字_python中range函数与列表中删除元素

    一.range函数使用 range(1,5)   代表从1到4(不包含5),结果为:1,2,3,4   ,默认步长为1 range(1,5,2)   结果为:1, 3  (同样不包含5) ,步长为2 ...

  10. python语言有几种编程方式_零基础自学python语言,有哪几种方法?龟叔说:这套教程带你入门...

    第一我要说的是:你应该先了解python语言的起源,这句话对于自学python的小白来说,本身就是耍流氓. 我们从根源上分析这个问题,这个问题是(从零基础如何自学python编程)? 我的提取关键字: ...

最新文章

  1. 区别:电感、磁珠和零欧电阻的作用
  2. BS-XX-042 基于SSM实现人事管理系统
  3. PyCharm中目录directory与包package的区别
  4. bash不识别命令 ssh_关于Python脚本在后台运行的几种方式!(linux,bash,tmux,等)...
  5. python里面如何安装nltk_nltk的安装和简单使用
  6. JS中捉摸不透的==(宽松等于)
  7. Oracle官方推荐的性能测试工具!简单、精准又直观!
  8. JavaWeb-RESTful_用SpringMVC开发RESTful
  9. SquashFs工具制作
  10. 简单设置让Win7不等更新直接关机
  11. 红盟云卡-开源的发卡网源码
  12. PMP试题 | 每日一练,快速提分 7.5
  13. Emoji表情代码大全
  14. Java基础知识点梳理
  15. windows10卸载edge浏览器并将chrome设为默认浏览器
  16. obs studio 开源直播软件 简介
  17. php判断股票涨停,常用的五种股票打板思路与常见的几种涨停板打板判断依据
  18. 机器人开发--二维激光SLAM介绍
  19. js之按键控制div移动
  20. rocketmq 消息删除_RocketMq Topic创建和删除

热门文章

  1. MacOS Mojave的安装
  2. linux系统怎样设置分屏显示器,话说你们的双屏显示器是怎样设置的 尤其是外接显示器分辨率设置...
  3. VMware 虚拟机安装 android-x86_64-9.0-r2 后 VirtWifi/无法访问互联网
  4. 初学cesium时的一些笔记,过于潦草看看就好
  5. 修改mysql.sock路径_mysql错误-修改mysql.sock位置
  6. 计算机听录测试,电脑自带可以录音但是QQ语音检测不行
  7. oracle取得组内行号,行号
  8. PHP生成腾讯云API签名
  9. 猪齿鱼_01_环境搭建(一)_微服务支撑组件部署(源码形式)
  10. Python连载(0011): 十分钟理解元组