鱼C论坛

 找回密码
 立即注册
查看: 2434|回复: 6

Python求助

[复制链接]
发表于 2016-9-4 04:54:55 | 显示全部楼层 |阅读模式
1鱼币
为什么这样写会报错?

def fun1():
    count = 5
    count += 1
    return count
    return fun1

a = fun1()

print(a())
print(a())
print(a())


而这样写就是对的?

count = 5
def fun1():
    def fun2():
        global count
        count += 1
        return count
    return fun2
    count = 5
   
a = fun1()

print(a())
print(a())
print(a())

最佳答案

查看完整内容

你这里return count就行了 a = fun1 后面就可以调用a()。。a相当于fun1函数的别名
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-4 04:54:56 | 显示全部楼层
你这里return count就行了  a = fun1  后面就可以调用a()。。a相当于fun1函数的别名
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-4 17:29:35 | 显示全部楼层
第一种写法的语法有问题,fun1这个方法 你的写法上先return count 紧接着又return fun1,首先return fun1这个永远也执行不到 同种情况下只能一个return语句,其次返回fun1函数本身 这也有问题,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-4 20:55:13 | 显示全部楼层
全能小码农 发表于 2016-9-4 17:29
第一种写法的语法有问题,fun1这个方法 你的写法上先return count 紧接着又return fun1,首先return fun1这 ...

那应该怎么写?
def fun1():
    count = 5
    count += 1
    return fun1
   

a = fun1()

print(a())
print(a())
print(a())
这样写 执行的时候是这样的
<function fun1 at 0x0305E738>
<function fun1 at 0x0305E738>
<function fun1 at 0x0305E738>
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-9-6 16:35:28 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-9-7 05:36:42 | 显示全部楼层
全能小码农 发表于 2016-9-4 17:29
第一种写法的语法有问题,fun1这个方法 你的写法上先return count 紧接着又return fun1,首先return fun1这 ...

谢谢啦,码神
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-1-14 16:28:33 | 显示全部楼层
>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-22 14:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表