默认情况下,python使用utf-8进行字符编码。

 

通常python的扩展名为.py,不过在一些unix类系统上,应用程序没有扩展名。python GUI的的扩展名则为pyw

 

在UNIX上,当某个程序被控制台引用时,该文件的头两个字节仙贝读入。如果这两个字节是ASCII字符#! ,shell就会认为该文件将要由解释器执行,并且该文件首行指定了要使用哪个解释器。该行称为shebang。通常形式为:#!/usr/bin/python3或#!/usr/bin/env python3.

 

在windows中,shebang并非必需。

 

python IDLE使用了基于Tk的TKinter GUI制作。

 

要素1:数据类型

python使用[]来取得字符串等序列的某一项,如:print('hello world'[4])

str类型与基本的数值类型(比如int)都是固定的,一旦设定,其值就不能改变。注意:int数据类型是固定的--也就是说,一旦赋值,就不能改变,因此对固定的对象使用赋值操作符时,实际上是创建一个另一个对象来存储结果,再对目标对象引用重新绑定,而不再使用原来的对象:

a = 100  # 内存中存储100
a += 100  # 内存中存储200,让a重新绑定至200,值100被垃圾回收
print(a)

同理,str类型字符串也相同。

 

要素2:对象引用

语法:objectReference=value,如x='blue',z=x

在python中,"="的作用是将对象引用与内存中的某对象进行绑定。如果对象引用已经存在,就简单的重绑定,以便引用"="操作符右面的对象,如果对象引用尚未存在,就由"="操作符创建对象引用。

x = 'blue'
y = 'green'
z = x
print(x, y, z)
x = y  # x重绑定,与y同,z仍保持原绑定'blue'
print(x, y, z)

如果内存中的某个对象没有被绑定,则会被python垃圾收集处理。

python使用动态类型机制,即使之前绑定了不同类型对象如:a=10,也可以重绑定为其他类型如:a='hello world'.原来的内存中的值10因为没有被绑定故进入垃圾收集流程。

 

要素3:组合数据类型

python元组和列表,可以用于存储任意数量、任意类型的数据项。如['hello world',100,('Norway',200)]

如果某个元组只有一个数据项,又需要使用圆括号(),则必须使用逗号(1,) ,否则和(1)无法区分。(1)即1

实质上,元组和列表并不真正存储数据项,而是存放对象引用,故可以组合存储任意类型,真正存放数据的是在内存中

所有python数据项,都是某种特定的数据类型的对象。

方法是某种特定对象的可以调用的函数。比如list对象就可以用append()方法。

x = ['zebra', 1, 'aaccvark', 200, 'more']
list.append(x, 'extra')
print(x)

可以使用'.'操作符来存取特定实例的属性。

元组是不可变序列,列表是可变序列。

 

要素4.逻辑操作符

is操作符是一个二元操作符,如果左端的对象引用与右端的对象引用指向的是同一个对象,则会返回True

x = 100
z = x
print(z is x)  # x和z引用相同,故True

a = ['200']
b = ['200']  # a和b虽然内容相同,但引用的不是同一块内存区域,故False
print(a is b)
print(a == b)  # 判断内容相同,返回True

in和not in操作符用于测试成员关系,如:

p = ['a', 'b', 100, 'frog']
print(100 in p)  # 在p中
print('hello' in p)  # 不存在

比较操作符:<=  ==  != >=等

逻辑操作符:and  or  not

 

要素5.控制流语句

if..elif..elif..else语句

while boolean_expression语句

for...in语句

try...except异常处理语句,异常情况从我们真正关系的处理流程剥离出来,异常处理机制可以使python更具可读性。

 

要素6:算数操作符

+ - * /

+=   -=   *=  /=

python与其他设计语言不同的是除法的处理:除法操作符会产生一个浮点数,而不是一个整数,如想要整数,需要int()转换或使用//

a = 100
print(a / 20)  # 得到浮点数
print(a // 20)  # 得到整数
b = 200
print(int(b / 13))  # 除不尽得到整数

 

要素7:输入、输出

python提供了input()函数,用于接收用户键盘输入

不人工干预,可以使用系统重定向功能

 

要素8:函数的创建和调用

语法格式为:

def functionName(argument):

    suite

参数为可选的,如果有多个参数,需要逗号分隔

标准模块的模块名都是小写,一些程序员为自己编写的模块使用首字母大写的命比如(My Module),以便区别标准模块。