1、语句和表达式(函数、算术表达式等)
语句使用关键字来组成命令。语句可以有输出,也可以没输出。
表达式没有关键字。可接受用户输入,也可不接受。有输出,也可没有输出。函数和算术表达式等。
2、输出
print语句调用str()函数显示对象,交互式解释器则调用repr()函数来显示对象。
"_"下划线在解释器中有特殊定义,表示最后一个表达式的值。
print语句加字符串格式操作符(%),可实现字符串替换功能。
">>"用来重定向输出。(2.0新增)
注意:print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
print函数的格式化输出
s=‘A Dai’
x=len(s)
print(‘The length of %s is %d’ %(s,x))
print函数的重定向输出
输出到文件:print(‘Fatal error:invalid input!’,file=open(’./mylog.txt’,‘a’))
输出到标准错误输出:print(‘Fatal error:invalid input!’,sys.stderr)
3、输入
内建函数raw_input()
>>>user=raw_input('Enter login name:')
Enter login name:root
>>>print 'Your login name is:',user
Your login name is :root
注意:在Python3中是没有raw_input()函数的,只有input()函数。
4、注释
Python使用#符号标示注释,从#开始,直到一行结束的内容都是注释。
文档字符串是Python中一种特别注释,文档字符串可以在运行时访问,也可以用来自动生成文档。
5、操作符
(1)算术
+(加)-(减)*(乘)/(传统除法)//(浮点除法,对结果四舍五入)**(乘方)%(取余)
(2)比较
< <= > >= == !=(推荐,C风格) <>(ABC/Pascal风格)
可以使用“3<4<5”形式(等价于3<4 and 4<5)。
(3)逻辑
and or not
6、变量和赋值
Python变量名大小写敏感。
Python是动态语言,不需要预先声明变量的类型。
Python支持增量赋值。(如x+=1)
Python不支持自增1、自减1操作符。(因为+和-是单目操作符,则–n为-(-n)=n,++n为+(+n)=n)
7、数字
Python支持5种基本数字类型。
decimal十进制浮点型,它不是内建类型,需要导入decimal模块(2.4)
8、字符串
Python支持使用成对的单引号或双引号,三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。
索引操作符 ([])及切片操作符([:])可得到子字符串。字符串第一个字符的索引是0,最后一个字符的索引是-1。
加号(+)用于字符串的连接,星号(*)用于字符串重复。
9、列表和元组
列表和元组是可以存储不同类型对象的“数组”。
列表和元组的区别:
列表用中括号([])包裹,元素个数及元素的值可以改变。
元组用小括号(())包裹,不可以更改(尽管内容可以)
元组可看成是只读的列表。
通过切片([]和[:])可得到子集。
10、字典
几乎所有类型的Pyrhon对象都可以用作键。
值可以是任意类型的对象。字典用大括号({})包裹元素。
11、代码块及缩进对齐
代码块通过缩进对齐表达代码逻辑,不使用大括号。
12、if语句
if expression:
if_suite
elif expression:
elif_suite
else:
else_suite
13、while循环
while expression:
while_suite
14、for循环和range()内建函数
(1)for循环
for循环与传统的计数器循环不太一样,更像C#中的foreach迭代。
for接受可迭代对象(例如序列或迭代器)
(2)range()函数
range(3) -->0,1,2
(3)enumerate()函数
同时循环索引,循环元素。
for i,ch in enumerate(foo):
print ch,'%d' % i
✪注:print语句默认会给每一行加一个换行符,只要在print语句的最后加一个逗号(,),就可以改变这种行为。
>>>print item,
单独的一个print语句用来输出一个换行符。
✪注:Python3中,print函数输出时不换行的方法是:print(‘abc123’,end=’’)
15、列表解析
sqdEvens=[x**2 for x in range(8) if not x%2]
16、文件和内建函数open(),file()
打开文件handle=open(file_name,access_mode=‘r’)
✪注:工厂函数file(),int(),dict()。
17、错误和异常
错误引发异常,错误藏匿在代码之中,异常是一种现象。
检测错误,处理异常。C#中对应“捕获异常,处理异常”。
try-except语句
raise语句可故意引发一个异常。
18、函数
Python是通过引用调用的。可变对象受影响,不可变对象行为类似于按值调用。
def function_name([arguments]):
function_suite
默认参数
def foo(debug=True):
function_suite
19、类
定义类
class className(base_class[es]):
"optional documentation string"
static_member_declarations
method_declarations
object为默认的基类。
_init_()方法是一个特殊方法,当一个类实例被创建时,该方法会自动执行,在类实例创建完毕后执行,类似构造器。不过不像其他语言的构造器,他并不创建对象。
每个方法都有一个参数self。
创建类实例类似于调用函数,他们都是可调用对象。(如foo=foo())
self._class_.__name__是类的名字
20、模块
(1)导入模块
import module_name
(2)访问模块属性
module.function()
module.variable
✪注:sys.stdout.write() 不会自动在字符串后添加换行符号。需要显式的提供换行符号sys.stdout.write(’\n’)
print会自动在字符串后添加换行符号。
21、PEP
Python增强提案(Python Enhancement Proposal)