python中的变量打印

python中的变量打印,python,Python,我是Python新手,我试图声明一个变量并打印它的值 这是我的代码: #!C:\Python32\python.exe import sys import os import cgi import cgitb cgitb.enable() a = 5 print(a)-------------------------> My doubt is in this line 但是我的一个朋友把这句话写成了print a。在他的Python中,它正在打印该值,但在我的例子中,它显示为“无效语法”

我是Python新手,我试图声明一个变量并打印它的值

这是我的代码:

#!C:\Python32\python.exe
import sys
import os
import cgi
import cgitb
cgitb.enable()
a = 5
print(a)-------------------------> My doubt is in this line
但是我的一个朋友把这句话写成了
print a
。在他的Python中,它正在打印该值,但在我的例子中,它显示为“无效语法”。为什么会发生这种情况?

因为您使用的是Python 3,所以将其称为:
print(a)
。在Python2(您的朋友正在使用的)中,您可以省去括号,将其称为:
打印一个
,但这在将来不会起作用,因此您的方法是正确的

此外,您的版本(
print(a)
)将同时适用于Python 3和Python 2,因为只要它们匹配,就会忽略额外的括号。我建议总是用Python3风格编写它,因为这两种风格都可以。您可以通过使用(有点神奇的)来明确和要求这一点:

print
作为函数会导致一些其他差异,因为在Python 3中,可以将变量设置为指向
print
,或者将其作为参数传递给函数:

a = print
a('magic') # prints 'magic'

def add_and_call(func, num):
    num += 1
    func(num)

add_and_call(print, 1) # prints 2
因为您使用的是Python3,所以将其称为:
print(a)
。在Python2(您的朋友正在使用的)中,您可以省去括号,将其称为:
打印一个
,但这在将来不会起作用,因此您的方法是正确的

此外,您的版本(
print(a)
)将同时适用于Python 3和Python 2,因为只要它们匹配,就会忽略额外的括号。我建议总是用Python3风格编写它,因为这两种风格都可以。您可以通过使用(有点神奇的)来明确和要求这一点:

print
作为函数会导致一些其他差异,因为在Python 3中,可以将变量设置为指向
print
,或者将其作为参数传递给函数:

a = print
a('magic') # prints 'magic'

def add_and_call(func, num):
    num += 1
    func(num)

add_and_call(print, 1) # prints 2

在Python 2中,
print
不是一个函数,而是一个关键字。因此,括号并不重要,
print'foo'
print('foo')
一起工作

Python3将
print
生成一个函数,必须使用参数调用该函数:
print('foo')
。将其称为打印“foo”将不再有效

因为使用
print
作为关键字时会出现错误,所以使用的是Python 3。您必须使用
print
作为一个函数,就像您所做的那样。您的朋友正在使用Python 2,它可以双向工作


Python3和Python2是相似的,但是如果您计划与使用不同版本Python的人合作,您应该了解一些主要的差异:

在Python2中,
print
不是一个函数,而是一个关键字。因此,括号并不重要,
print'foo'
print('foo')
一起工作

Python3将
print
生成一个函数,必须使用参数调用该函数:
print('foo')
。将其称为打印“foo”将不再有效

因为使用
print
作为关键字时会出现错误,所以使用的是Python 3。您必须使用
print
作为一个函数,就像您所做的那样。您的朋友正在使用Python 2,它可以双向工作

Python3和Python2是相似的,但是如果您计划与使用不同版本Python的人合作,那么您应该了解一些主要的差异:

read