您的位置:首页 > 编程语言 > Python开发

(自用)Python学习二(windows+eclipse+pydev+python3.5.1):基本语法

2016-11-22 14:57 639 查看
距离上次学习Python已经很久了,中间发生了一些事情,经历了工作变更。最近才有些时间,重新捡起来学习。

Python是一种直译式、交互式、面向对象的计算机编程语言。

Python是一种交互性的语言。

交互性是指不需要创建脚本文件,直接通过Python的解释器的交互模式来进行编写代码。

上一篇文章中介绍了windows上安装Python开发环境,通过windows的控制台或者直接点击Python的交互式客户端。如下:



输入以下文本信息:

print("hello,world!");
按Enter,输出如下



Python是一种脚本语言。

脚本语言是指通过创建脚本文件来编写代码,然后在Python环境中直接运行,输出结果,并不需要像Java,C++那样需要编辑后再执行输出。

Python标识符。

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

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

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

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

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

Python保留字符。

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

所有Python的关键字只包含小写字母。
andexecnot
assertfinallyor
breakforpass
classfromprint
continueglobalraise
defifreturn
delimporttry
elifinwhile
elseiswith
exceptlambdayield



行和缩进

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

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

'''
Created on 2016年11月22日

@author: zhao
'''
if True:
print("True");
else:
print("False");
执行以下代码会报错(在Eclipse上在执行前会自动提示):

'''
Created on 2016年11月22日

@author: zhao
'''
if True:
print("True");
else:
print("False");
报错如下:



在eclipse上,如果一个用tab键一个用回车键,会提示一个Bad Indentation,代码如下

'''
Created on 2016年11月22日

@author: zhao
'''
if True:
print("True");
else:
print("False");
提示如下:



可以正常运行输出结果,不知道是不是3.5的特性还是编译器自动校正了。不过为了保险起见,大家还是严格遵守相同数量的空格吧。

建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 ,
切记不能混用

Python语句中一般以新行作为为语句的结束符。

但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:
'''
Created on 2016年11月22日

@author: zhao
'''
total=2+\
3
print(total)


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


Python 引号

Python 接收单引号(' ),双引号(" ),三引号(''' """) 来表示字符串,引号的开始与结束必须的相同类型的。

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

@author: zhao
'''
word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""
print(paragraph)


Python注释

python中单行注释采用 # 开头。
'''
Created on 2016年11月22日

@author: zhao
'''
# 第一个注释
print("Hello, Python!");  # 第二个注释


输出结果:
Hello, Python!


注释可以在语句或表达式行末:
name = "Madisetti" # 这是一个注释


python 中多行注释使用三个单引号(''')或三个双引号(""")。

'''
Created on 2016年11月22日

@author: zhao
'''
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

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



Python空行

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

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

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


等待用户输入

下面的程序在按回车键后就会等待用户输入:
#!/usr/bin/python

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


以上代码中 ,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下键时,程序将退出。

可以将输入赋给变量,如下所示:

'''
Created on 2016年11月22日

@author: zhao
'''
inputContent=input("\n\nPress the enter key to exit.")
print(inputContent);
运行程序后,随意输入写字符,然后按Enter会打印你输入的字符串,如下:




同一行显示多条语句

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

'''
Created on 2016年11月22日

@author: zhao
'''
name="Jack";print(name);


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




多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

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

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

如下实例:
if expression :
suite
elif expression :
suite
else :
suite


命令行参数

很多程序可以执行一些操作来查看一些基本信,Python可以使用-h参数查看各参数帮助信息:
C:\Users\zhao>python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-b     : issue warnings about str(bytes_instance), str(bytearray_instance)
         and comparing bytes/bytearray with str. (-bb: issue errors)
-B     : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser; also PYTHONDEBUG=x
-E     : ignore PYTHON* environment variables (such as PYTHONPATH)
-h     : print this help message and exit (also --help)
-i     : inspect interactively after running script; forces a prompt even
         if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-I     : isolate Python from the user's environment (implies -E and -s)
-m mod : run library module as a script (terminates option list)
-O     : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
-OO    : remove doc-strings in addition to the -O optimizations
-q     : don't print version and copyright messages on interactive startup
-s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S     : don't imply 'import site' on initialization
-u     : unbuffered binary stdout and stderr, stdin always buffered;
         also PYTHONUNBUFFERED=x
         see man page for details on internal buffering relating to '-u'
-v     : verbose (trace import statements); also PYTHONVERBOSE=x
         can be supplied multiple times to increase verbosity
-V     : print the Python version number and exit (also --version)
-W arg : warning control; arg is action:message:category:module:lineno
         also PYTHONWARNINGS=arg
-x     : skip first line of source, allowing use of non-Unix forms of #!cmd
-X opt : set implementation-specific option
file   : program read from script file
-      : program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv[1:]

Other environment variables:
PYTHONSTARTUP: file executed on interactive startup (no default)
PYTHONPATH   : ';'-separated list of directories prefixed to the
               default module search path.  The result is sys.path.
PYTHONHOME   : alternate <prefix> directory (or <prefix>;<exec_prefix>).
               The default module search path uses <prefix>\lib.
PYTHONCASEOK : ignore case in 'import' statements (Windows).
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
PYTHONFAULTHANDLER: dump the Python traceback on fatal errors.
PYTHONHASHSEED: if this variable is set to 'random', a random value is used
   to seed the hashes of str, bytes and datetime objects.  It can also be
   set to an integer in the range [0,4294967295] to get hash values with a
   predictable seed.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: