Python学习记录(3)——第一个脚本编程“Hello World”

   1. “Hello World” ——Python编程的开始  

         从“Hello World”开始,编写一个简单的 Python 脚本程序。 所有 Python 文件将以 .py 为扩展名,将以下的源代码拷贝至 test.py 文件中。

#!/usr/bin/python

print ("Hello World!")

         通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。

        这里,在之前安装Python时已经设置了 Python 解释器 PATH 变量。打开windows命令提示符窗口,在命令提示符操作,进到test.py存放的目录,使用以下命令运行程序:

python test.py

       输出结果:

 Hello World!

        在linux系统下,可以用以下方式来执行 Python 脚本,如下所示:   

$ chmod +x test.py     # 脚本文件添加可执行权限
$ ./test.py

       如果输出中文字符 "你好,世界" 有可能会碰到中文编码问题。Python 文件中如果未指定编码,在执行过程会出现报错。因为Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

File "test.py", line 4
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 4,but no 
encoding declared; see http://python.org/dev/peps/pep-0263/for details

解决方法:只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了,示例如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-# -*- coding: UTF-8 -*-

print ("hello world")
print ("你好,世界")        

输出结果:

Hello World!
你好,世界

2.Python基础语法

      2.1基本知识

       2.1.1  Python 标识符

        在 Python 里,标识符由字母、数字、下划线组成。

        在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。

        Python 中的标识符是区分大小写的。

        以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。

        以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

    2.1.2 Python 保留字符

      表1 显示了在Python中的关键字。这些关键字不能用作常数或变数,或任何其他标识符名称。所有 Python 的关键字只包含小写字母。

表1 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

      2.1.3 Python 引号

        Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的。

        其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。

word = 'word'

sentence = "这是一个句子。"

paragraph = """这是一个段落。

包含了多个语句"""

       2.1.4 Python注释

        注释(Comments)用来向用户提示或解释某些代码的作用和功能,它可以出现在代码中的任何位置。Python 解释器在执行代码时会忽略注释,不做任何处理,就好像它不存在一样。

        在调试(Debug)程序的过程中,注释还可以用来临时移除无用的代码。

        python中单行注释采用 # 开头。从井号#开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到#时,会忽略它后面的整行内容。

        说明多行代码的功能时一般将注释放在代码的上一行,说明单行代码的功能时一般将注释放在代码的右侧,如下所示:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

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

        多行注释指的是一次性注释程序中多行的内容(包含一行),多行注释通常用来为 Python 文件、模块、类或者函数等添加版权或者功能描述信息。

        Python 使用三个连续的单引号'''或者三个连续的双引号"""注释多行内容,具体格式如下:

'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

注: Python 多行注释不支持嵌套,所以下面的写法是错误的:

'''
外层注释
    '''
    内层注释
    '''
'''

      2.2 语句书写规范

        2.2.1 行和缩进

        学习 Python 与其他语言最大的区别就是,Python 不使用大括号 {} 来分割代码块,而是采用代码缩进和冒号( : )来区分代码块之间的层次。

        在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。
        注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

      Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则IDLE界面执行代码会报 SyntaxError 异常错误,如图1所示。以下代码为错误示例,位于同一作用域中的 2 行代码,它们的缩进量分别设置为 4 个空格和 3 个空格,如下所示:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
    # 没有严格缩进,在执行时会报错
  print ("False")

Python学习记录(3)——第一个脚本编程“Hello World”_第1张图片

 图1 缩进不统一导致的报错

        如果在linux系统下或Window命令提示符窗口执行缩进不一致的代码,会报以下错误:

       “ IndentationError: unindent does not match any outer indentation level”错误表明,使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

        如果是“ IndentationError: unexpected indent ”错误, 则 python 编译器是在告诉我们文件里格式不对了,可能是 tab 和空格没对齐的问题",所以 python 对格式要求非常严格。

        因此,在 Python 的代码块中必须使用相同数目的行首缩进空格数。建议每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用。

2.2.2 多个语句构成代码组

        缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

        我们将首行及后面的代码组称为一个子句(clause)。如下实例:

if expression :

        suite

elif expression :

        suite

else :

suite

       2.2.3 Python空行

        函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

        空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

        记住:空行也是程序代码的一部分。

        2.2.4 多行语句

        Python语句中一般以新行作为语句的结束符, 但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

total = item_one + \

           item_two + \

           item_three

语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

days = ['Monday', 'Tuesday', 'Wednesday',

             'Thursday', 'Friday']

        2.2.5 同一行显示多条语句

        Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:

#!/usr/bin/python

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

         执行以上代码,输入结果为:

$ python test.py runoob

      2.3 字符输入输出

       2.3.1 等待用户输入

        下面的程序执行后就会等待用户输入,按回车键后就会退出:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

raw_input("按下 enter 键退出,其他任意键显示...\n")

        以上代码中 ,\n 实现换行。一旦用户按下 enter(回车) 键退出,其它键显示。 

        2.3.2print 输出

        print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ;end="" 也可以设置一些特色符号或字符串:。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

x="a"
y="b"
# 换行输出
print x
print y

print '---------'
# 不换行输出
print x,
print y


print('12345', end=" ")  # 设置空格
print('6789')

print('root', end="@")  # 设置符号
print('diana')

print('Google ', end="Runoob ")  # 设置字符串
print('Taobao')

        以上实例执行结果为:

a

b

---------

a b 

12345 6789

root@diana

Google Runoob Taobao

       2.4 命令行参数

        很多程序可以执行一些操作来查看一些基本信息,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)