Python-基本语法


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

第一个Python程序

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

交互式模式编程
  在不将脚本文件作为参数传递的情况下调用解释器会显示以下提示 -

$ python
Python 2.4.3 (#1, Dec 23 2019, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

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

>>> print "Hello, Python!"

  如果你正在运行新版本的Python,那么你需要使用带有括号的print语句,如print(“Hello,Python!”); 。但是在Python 2.4.3版本中,这会产生以下结果 -

Hello, Python!

脚本模式编程

  使用脚本参数调用解释器开始执行脚本并一直持续到脚本完成。脚本完成后,解释器不再处于活动状态。
  让我们在脚本中编写一个简单的Python程序。Python文件扩展名为.py。在test.py文件中键入以下源代码 -

开始编程

打开IDLE,出现这个界面:

点击菜单里的File->New File,会出现一个新界面,在这里面写程序:

写完后,保存成一个.py文件,然后按F5运行,即可看到运行结果:

Python 标识符

  • 在 Python 里,标识符由字母、数字、下划线组成。
  • 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
  • Python 中的标识符是区分大小写的。
  • 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
  • 以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
  • Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:
>>> print 'hello';print 'runoob';
hello
runoob

Python 保留字符

  下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。

所有 Python 的关键字只包含小写字母。

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

行和缩进

  学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

  缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。例如:

if True:
   print "True"
else:
   print "False"

但是,以下块生成错误 -

if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"

  因此,在Python中,所有用相同数量的空格缩进的连续线将形成一个块。以下示例具有各种语句块 -
注意 - 此时不要试图理解逻辑。只要确保你理解各种块,即使它们没有支撑也是如此。

#!/usr/bin/python

import sys

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 = raw_input("Enter text: ")
   if file_text == file_finish:
      # close the file
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_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/python

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

这产生以下结果 -

Hello, Python!

您可以在语句或表达式后的同一行上键入注释 -

name = "Madisetti" # This is again comment

您可以按如下方式评论多行 -

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

以下三重引号字符串也被Python解释器忽略,可以用作多行注释:

'''
This is a multiline
comment.
'''

使用空行

只包含空格的行,可能带有注释,称为空行,Python完全忽略它。

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

等待用户

程序的以下行显示提示,声明“按回车键退出”,并等待用户采取行动 -

#!/usr/bin/python

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

  这里,“\ 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执行此操作

$ 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概念,应该稍后研究一下。

上一页 Python-概述
下一页 Python-基本语法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271