Python函数的执行时的检查

def fun():
    print("This function has an error");

def run():
    print("good boy")    

fun()
run()

 上述代码将正确执行,尽管fun()函数执行时打印的字符串之后意外地跟了一个分号,这是因为分号被当作字符串的一部分打印了出来,而Python解释器将其视为字符串终止的非标准方式接受了。
通常,这种写法是不鼓励的,因为它可能导致代码可读性和理解性的下降,虽然在这里技术上没有引发语法错误,但确实不是好的编程实践。正确的做法是使用引号(单引号或双引号)正确地包裹字符串,例如:print("This function has an error")。

def fun():
    print("This function has an error")
    abc()

def run():
    print("good boy")    


run()

上述代码运行正常

def fun():
    print("This function has an error")
    abc(goodboy)

def run():
    print("good boy")    

fun()
run()

>NameError: name 'abc' is not defined. Did you mean: 'abs'?

上述代码报错

def log_decorator(func):
    printdddddf("enter log_decorator")
    def wrapper():
        print("enter wrapper")
        #start_time = time.time()
        func()
        #end_time = time.time()
        #execution_time = end_time - start_time
        #print(f"Function {func.__name__} executed in {execution_time} seconds")
    return wrapper

#@log_decorator

def say_hello():
    time.sleep(1)
    printffffffffffff("Hello, world!")

上述代码将不会报错,按道理printffffffffffff("Hello, world!")这一行有问题,应该报错,其实是把printffffffffffff当成一个新函数了,而且所在的函数没有被调用,故而不报错的。

总结:

定义的函数,即使没有调用,但是语法错误会被检查报错

定义的函数,如果没有调用,则里面只检查语法错误,其他函数来源,函数是否存在,调用参数是否对,我们都不关心的。本质上就是不执行,只要没有语法错误,其他的将不管。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值