导航:首页 > 编程语言 > python函数重定义

python函数重定义

发布时间:2023-03-12 12:04:08

‘壹’ python如何定义一个函数

没注意 把x y改成 a b 应该满足题目了

def divideExactly(x, y):
list1 = []
for i in range(x, y):
if i % 7 == 0:
if i % 5 != 0:
list1.append(i)
l = ','.join(str(i) for i in list1)
print(l)


divideExactly(10, 100)

‘贰’ python里函数的定义

定义:
def 函数名(形参1,形参2='初始定义的内容'):
函数中执行的内容
调用:
函数名(实参1)或函数名(形参2=实参2,形参1=实参1)或函数名(实参1,实参2)

‘叁’ Python函数的定义(构造)和调用

这里来给大家演示一下,函数的定义或构造,并调用函数来实现封装后的效果。

首先我们来看看想实现下面的这个效果,如果不使用函数应该怎么实现。

以上两种返回结果都是1-9这几个数字。

以上两种方法,第一种代码重复率太高,代码美观效果太差,虽然能实现效果,但是因为数量比较少,还能手工打出来这几行代码,如果是打印1-100000就很难实现了。这时候for循环还是可以实现的,但是for循环只能实现类似的数字和变量循环,无法进行复杂的功能开发。鉴于此,函数这个概念就被python引入了,下面先来看看函数是怎么实现上面的效果的,还是两种方法。

这时候如果想实现上面的打印结果就直接使用函数名+小括号调用函数就可以了,这种类型的语法,不仅可以反复使用,而且封装后的代码更美观。

‘肆’ 在python中定义函数

涉及到状态保存,可以使用函子(书上这么翻译的,不晓得其他人是不是也这样叫),给你个例子,你比对着改。如果不懂,自己再延这个方向去查看资料。

classStrip:
def__init__(self,characters):#初始化,将需要保留的状态信息存起来
self.characters=characters
def__call__(self,string):#创建的函子被使用时,自动调用__call__
returnstring.strip(self.characters)
#下面是使用方法,两个语句是密切衔接的。
strip_punctution=Strip(',;:.!?')#字符串参数将被__init__吃进去,并且保留在class中,
#相当于一种状态保存的方法,在你的例子中,你可以将用户表达式通过这种方式保存起来

strip_punctution('helloworld!')#return'helloworld',他的功能是剥离characters
#字符串中出现的字符,此处把感叹号去掉了,
#这就是函子典型的使用方法,class中的__call__函数被自动调用,在你的
#例子中,你可以通过这样的方式调用函数,就不用每次重新输入表达式了。


‘伍’ python中函数定义

函数定义与调用:
1) >>> def 函数名(形参1,形参2): # 定义
... 函数体

函数名(实参1,实参2) #调用

‘陆’ Python报错typeError: 'tuple' object is not callable

环境:python2.7

网络下,只有几个例子,有个说是某个函数被重新定义了,导致出问题。
我仔细看了下我的错误:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/eventlet-0.14.0-py2.7.egg/eventlet/hubs/hub.py", line 346, in fire_timers
timer()
File "/usr/local/lib/python2.7/dist-packages/eventlet-0.14.0-py2.7.egg/eventlet/hubs/timer.py", line 56, in __call__
cb(*args, **kw)
File "/usr/local/lib/python2.7/dist-packages/eventlet-0.14.0-py2.7.egg/eventlet/greenthread.py", line 194, in main
result = function(*args, **kwargs)
TypeError: 'tuple' object is not callable

然后通过一步步查询找到出错语句:
eventlet.spawn(utils.command(cmd))

在自定义的utils.command中,有调用subprocess.Popen和eventlet.sleep,可能是其中哪个出问题了
我因为对结果要求不高,直接将代码改为:
utils.command(cmd)

然后不再出错。
没有进一步查看原先的错处,个人考虑是某个函数重定义导致错误,不过网上也有代码不规范出错的

阅读全文

与python函数重定义相关的资料

热点内容
猎人宝宝攻击命令 浏览:159
操作系统是编译原理吗 浏览:646
云服务器迁移后 浏览:260
excel格式转换pdf 浏览:987
登录器一般存在哪个文件夹 浏览:535
中兴光猫机器码算法 浏览:330
android响应时间测试 浏览:940
java编程思想第四版答案 浏览:888
如何对nbt编程 浏览:885
mscpdf 浏览:948
文件夹d盘突然0字节可用 浏览:272
吃火腿肠的解压场面 浏览:339
卫星锅加密教程 浏览:792
php7的特性是什么 浏览:469
编译类高级语言源代码运行过程 浏览:177
科普中国app怎么分享 浏览:87
51单片机与32单片机比较 浏览:422
SQL加密存储解密 浏览:507
电气工程师把程序加密 浏览:797
解压切东西动画版 浏览:965