1. 首页
  2. Python

Python中作为参数的方法是否带小括号的区别

瞄准细节,方得始终

今觅得一码,见其——”作为参数的方法没有带括号也能运行”,诧异,整理若下

一、先演示没有括号的

设有方法

def move_turtle(self):             self.turtle.forward(50)

执行调用

 self.move_btu.clicked.connect(self.move_turtle)

没有括号的时候,是告诉Python运行改方法时将 该方法本身作为参数,而不是其计算结果

二、带括号的

有括号的时候的,则返回括号内方法的计算结果。

distance_spin = QSpinBox() distance_spin.setValue(20)  turtle.forward(distance_spin.value())

这里最后一句的调用就加了 小括号 ,所以最后应该是返回20,

截断代码不好理解放上完整代码

import turtle import sys from PySide2.QtCore import * from PySide2.QtGui import * from PySide2.QtWidgets import *  class TuControl(QWidget):       def __init__(self,turtle):             super(TuControl,self).__init__()             self.turtle = turtle              self.left_btu = QPushButton("Left",self)             self.right_btu = QPushButton("Right",self)             self.move_btu = QPushButton("Move",self)             self.distance_spin = QSpinBox()              self.controlsLayout = QGridLayout()             self.controlsLayout.addWidget(self.left_btu,0,0)             self.controlsLayout.addWidget(self.right_btu,0,1)             self.controlsLayout.addWidget(self.distance_spin ,1,0)             self.controlsLayout.addWidget(self.move_btu,1,1)             self.setLayout(self.controlsLayout)              self.distance_spin.setRange(0,100)             self.distance_spin.setSingleStep(5)             self.distance_spin.setValue(20)              self.move_btu.clicked.connect(self.move_turtle)             self.right_btu.clicked.connect(self.turn_turtle_right)             self.left_btu.clicked.connect(self.turn_turtle_left)                      def turn_turtle_left(self):             self.turtle.left(45)       def turn_turtle_right(self):             self.turtle.right(45)       def move_turtle(self):             self.turtle.forward(self.distance_spin.value())  #set up window = turtle.Screen() bab = turtle.Turtle() #Create a Qt application app = QApplication(sys.argv) control_window = TuControl(bab) control_window.show() #main loop  app.exec_() sys.exit()

原文始发于:Python中作为参数的方法是否带小括号的区别

主题测试文章,只做测试使用。发布者:熱鬧獨處,转转请注明出处:http://www.cxybcw.com/11996.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code