Python 3 – 基本语法

Python 3 – 基本语法

Python语言与Perl、C和Java有许多相似之处,但它们之间也存在一些明显的差异。

第一个Python程序

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

交互式编程模式

在没有传递脚本文件作为参数的情况下调用解释器会带来以下提示 −

$ python

Python 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

在Windows上:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43: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 变量中。现在,尝试按以下方式运行此程序 –

在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是一种大小写敏感的编程语言。因此, Manpowermanpower 是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中,所有连续的行缩进相同的行将形成一个块。以下示例有各种语句块−

注意 − 此时请不要尝试理解逻辑。只需确保您理解了各个块,即使它们没有大括号。

#!/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中,不在字符串字面值内的井号(#)是注释的开始。#后的所有字符,直到物理行的结尾,都是注释,Python解释器将忽略它们。

#!/usr/bin/python3

# 第一个注释
print ("Hello, Python!") # 第二个注释

这将产生以下结果 −

Hello, Python!

你可以在语句或表达式之后的同一行上键入注释 −

name = "马迪塞蒂" # 这又是注释

Python没有多行注释的功能。您必须将每行单独注释,如下所示−

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

使用空行

只包含空白字符(有可能带有注释)的行被称为空行,Python完全忽略它们。

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

等待用户

以下程序行显示提示并等待用户采取操作:“按回车键退出”语句−

#!/usr/bin/python3

input("\n\n按回车键退出。")

这里,“\n\n”用于在显示实际行之前创建两个新行。一旦用户按下键,程序终止。这是一个不错的技巧,可以通过它使控制台窗口保持打开状态,直到用户完成应用程序。

单行上的多个语句

分号(;)允许在单行上多个语句,只要没有语句启动新的代码块。以下是使用分号的示例片段−

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

多个语句组合成套件

组成单个代码块的单个语句组称为Python中的 套件 。复杂的语句,例如if、while、def和class,需要一个标题行和套件。

标题行以关键字开始语句,并以冒号(:)结束,后跟一个或多个组成套件的行。例如−

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

命令行参数

许多程序可以运行,以向您提供有关如何运行它们的一些基本信息。Python可以使用-h使您这样做:- 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. ]

您也可以以这种方式编写脚本,使其可以接受各种选项。 命令行参数 是一个高级主题。让我们来了解一下。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程