chur_z 2022-07-05 16:48 采纳率: 100%
浏览 14
已结题

python函数调用问题

python问题
在c里面调用d.py的d函数,为什么会把函数方法外的print打印出来啊。不应该只调用方法缩进后的的内容吗

img

img

d.py
print("这个不是函数d的啊")
def d():
print("d")
print("d")

print("这个不是函数d的啊")

d()

def e():
print("e")

c.py
def c():
print("c")

#一组办法

import testPage2.d

testPage2.d.d()

#另一组办法
from testPage2.d import d,e
d()

e()

调用结果
G:\pythonObject\venv\Scripts\python.exe G:/pythonObject/testPage2/c.py
这个不是函数d的啊
这个不是函数d的啊
d
d

Process finished with exit code 0

不应该是只有
d
d
这个嘛

  • 写回答

1条回答 默认 最新

  • 於黾 2022-07-05 16:55
    关注

    因为方法外的print相当于静态代码,只要一import就直接执行了
    如果你希望被调用的代码块中的静态代码不要执行,而只在代码块独立执行时才执行
    那么加个if条件
    if __name__=='__main__':

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月13日
  • 已采纳回答 7月5日
  • 创建了问题 7月5日

悬赏问题

  • ¥15 unity3d机械臂
  • ¥20 判断两个表是否完全相同
  • ¥20 工控机出现散热器转一下停一下这种情况,是什么原因造成的
  • ¥15 双显卡,启动docker容器报错。
  • ¥15 想编写一个期货跨期套利的程序
  • ¥15 一个线程在sleep的时候set一个信号会起作用吗
  • ¥50 如何利用matlab将现有的地基雷达回波数据调制为机载雷达回波数据
  • ¥100 需求高精度PT100设计电路和算法
  • ¥15 单片机配网,继电器开关,广播
  • ¥60 Qcustomplot绘制实时动态曲线