关于#python#的问题:为什么会出现这个跟乱码语言一样的东西呢

img

img

我想请问一下,为什么会出现这个跟乱码语言一样的东西呢? 我用的是sublime text

输出的那个不是乱码,而是函数make_shirt的内存地址。首先python解释器看你定义了一个函数,然后make_shirt()调用函数并把size传入为"x1",进入函数里面后发现只是打印了一句话print(f"I shirt is {make_shirt}")。
第一个知识:
对于函数的调用和函数的引用上代码

def a():
    return 1


print(a)
print(a())

img


只有函数名而没有括号比如上面的a它只是相当于一个变量指向函数,它只是这个函数的引用
函数名()才是调用函数
所以当你对make_shirt这个函数名进行打印输出的时候只会打印这个变量make_shirt所指向的内存地址(也就是你所说的乱码)

<>说的是函数make_shirt的地址,at后面就是函数地址