Python3基本语法


Python语言与Perl,C和Java有许多相似之处。但是,两种语言之间存在一定的区别。

第一个Python程序


让我们以不同的编程模式执行程序。

互动模式编程

在不传递脚本文件作为参数的情况下调用解释器将显示以下提示:

$ python

Python 3.3.2 (default, Dec 10 2013, 11Python不会使用大括号({})来表示用于类和函数定义或流控制的代码块。代码块由行缩进表示,行缩进是严格执行的。01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

On Windows:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22Python中的报价06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>

在Python提示符下键入以下文本,然后按Enter:

>>> print ("Hello, Python!")

如果你正在运行旧版本的Python(Python 2.x),请使用括号作为 inprint 功能是可选的。这将产生以下结果:

Hello, Python!

脚本模式编程

使用脚本参数调用解释器将开始执行脚本,并一直持续到脚本完成为止。脚本完成后,解释器将不再处于活动状态。

让我们用脚本编写一个简单的Python程序。 Python文件具有扩展名 .py 。在test.py文件中输入以下源代码:

现场演示
print ("Hello, Python!")

我们假设你在其中设置了Python解释器 PATH 多变的。现在,尝试按以下方式运行此程序:

On Linux

$ python test.py 

这将产生以下结果:

Hello, Python!

在Windows上

C:\Python34>Python test.py

这将产生以下结果:

Hello, Python!

让我们尝试另一种在Linux中执行Python脚本的方法。这是修改后的test.py文件:

现场演示
#!/usr/bin/python3
print ("Hello, Python!")

我们假设你在/ usr / bin目录中有Python解释器。现在,尝试按以下方式运行此程序:

$ chmod +x test.py     # This is to make file executable
$./test.py

这将产生以下结果:

Hello, Python!

Python标识符


Python标识符是用于标识变量,函数,类,模块或其他对象的名称。标识符以字母A到Z或a到z或下划线(_)开头,后跟零个或多个字母,下划线和数字(0到9)。

Python不允许在标识符内使用标点符号,例如@,$和%。 Python是区分大小写的编程语言。因此, Manpower and manpower 是Python中的两个不同的标识符。

以下是Python标识符的命名约定:

  • 类名以大写字母开头。所有其他标识符以小写字母开头。

  • 以单个下划线开头的标识符表示该标识符是私有的。

  • 在标识符前加上两个下划线开头表示一个很强的私有标识符。

  • 如果标识符也以两个下划线结尾,则标识符是语言定义的特殊名称。

保留字


以下列表显示了Python关键字。这些是保留字,你不能将它们用作常量或变量或任何其他标识符名称。所有Python关键字仅包含小写字母。

and exec not
as finally or
assert for pass
break from print
class global raise
continue if return
def import try
del in while
elif is with
else lambda yield
except

线和缩进


Python不会使用大括号({})来表示用于类和函数定义或流控制的代码块。代码块由行缩进表示,行缩进是严格执行的。

缩进中的空格数是可变的,但是块中的所有语句必须缩进相同的数量。例如:

if True:
    print ("True")

else:
    print ("False")

但是,以下块会产生错误:

if True:
    print ("Answer")
    print ("True")

else:
    print "(Answer")
    print ("False")

因此,在Python中,以相同数量的空格缩进的所有连续行将形成一个块。以下示例具有各种语句块:

Note :此时不要尝试了解逻辑。只要确保你了解各种功能块,即使它们没有括号也可以。

#!/usr/bin/python3
import sys

file_finish = "end"
file_text = ""
contents=[]

file_name=input("Enter filename: ")
if len(file_name) == 0:
    print("Please enter filename")
    sys.exit()

try:
    # open file stream
    file = open(file_name, "w")

except IOError:
    print ("There was an error writing to", file_name)
    sys.exit()

print ("Enter '", file_finish,)
print ("' When finished")

while file_text != file_finish:
    file_text = input("Enter text: ")
    contents.append(file_text)

    if file_text == file_finish:
        # close the file
        file.close()
        break

print(contents)
data = ' '.join([str(elem) for elem in contents])  
print(data)
file.write(data)
file.close()
file_name = input("Enter filename: ")

if len(file_name) == 0:
    print ("Next time please enter something")
    sys.exit()

try:
    file = open(file_name, "r")

except IOError:
    print ("There was an error reading file")
    sys.exit()
file_text = file.read()
file.close()
print (file_text)

多行语句


Python中的语句通常以换行符结尾。但是,Python允许使用行继续符(\)表示该行应继续。例如:

total = item_one + \
    item_two + \
    item_three

包含在[],{}或()括号内的语句不需要使用换行符。例如:

days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

Python中的报价


Python接受单引号('),双引号(“)和三引号('''或”“”)表示字符串文字,只要相同类型的引号开始和结束字符串即可。

三重引号用于将字符串跨越多行。例如,以下所有都是合法的:

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

Python中的注释


不在字符串文字中的井号(#)是注释的开头。 #之后的所有字符,直到物理行的末尾,都是注释的一部分,Python解释器将忽略它们。

现场演示
#!/usr/bin/python3

# First comment
print ("Hello, Python!") # second comment

这将产生以下结果:

Hello, Python!

你可以在语句或表达式后的同一行输入注释:

name = "Madisetti" # This is again comment

Python没有多行注释功能。你必须分别注释每一行,如下所示:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

使用空行


仅包含空格的行(可能带有注释)被称为空白行,Python完全忽略了它。

在交互式解释器会话中,必须输入一个空的物理行以终止多行语句。

等待用户


程序的以下行显示提示,并显示“按Enter键退出”的语句,然后等待用户采取行动:

#!/usr/bin/python3

input("\n\nPress the enter key to exit.")

在这里,“ \ n \ n”用于在显示实际行之前创建两个新行。用户按下键后,程序结束。这是一个使控制台窗口保持打开状态的好方法,直到用户完成应用程序操作为止。

一行上有多个语句


假定没有语句开始新的代码块,则分号(;)允许在一行上显示多个语句。这是使用分号的示例片段:

import sys; x = 'foo'; sys.stdout.write(x + '\n')

多个语句组作为套件


组成单个代码块的单个语句组称为 suites 在Python中。复合或复杂的语句,例如if,while,def和class需要标头行和套件。

标题行(使用关键字)以语句开头,并以冒号(:)结尾,然后是组成该套件的一行或多行。例如:

if expression : 
    suite
elif expression : 
    suite
else : 
    suite

命令行参数


可以运行许多程序来为你提供有关应如何运行的一些基本信息。 Python使你可以通过- h

$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

你还可以对脚本进行编程,使其可以接受各种选项。 命令行参数 是一个高级主题。让我们了解它。