print 语句会调用str()函数显示对象,而直接在交互式解释器里输入变量则会调用repr() 函数来显示对象
str()和 repr()的区别,str() 显示对人类友善的字符串,repr()则显示对解释器友善的字符串,也就是对象在解释器里的字符表示
print可以用 >>
来重定向
print >> sys.stderr, "Fatal error: invalid input"
logfile = open('/tmp/log.txt', 'a')
print >> logfile, "Fatal error: invalid input"
logfile.close()
print 默认会给每行添加一个换行符,但只要在print语句的最后添加一个逗号(,),就可以不自动添加换行符
raw_input 从标准输入读取一个字符串并自动删除串尾的换行符。如果输入EOF字符(Linux: Ctrl+D , Windows:Ctrl+Z+回车),会引发EOFError
在有些Linux终端里,在输入退格键,方向键的时候,会输出一些乱码,只要导入readline模块就可以解决问题
算数操作符
+、-、*、/、//、%、**
/是传统除法 //是地板除
算数操作符优先级: +和-优先级最低,*、/、//、%优先级较高,单目操作符+和-优先级更高,乘方(**)优先级最高
比较操作符
< 、 <= 、 > 、 >= 、 == 、 != 、 <>(ABC/Pascal风格的不等于)
逻辑操作符
and、or、not
支持多条件表达式 3 < 4 < 5 等价于 3 < 4 and 4 < 5
python 变量名大小写敏感,变量名的首个字符只能是字母和下划线(_),其他字符可以是数字,字母或者下划线
python 不支持C语言中的自增1和自减1操作符,这是因为+和-也是单目操作符,python会将--n解释为-(-n)从而得到n,同样++n的结果也是n
python支持5中基本数字类型,其中有三种是整型类型
有符号整型,长整型,布尔型,浮点型,复数
python长整型和C语言不同,python的长整型的范围只受限于用户的计算机的虚拟内存总数
python的有符号整型与长整型正在逐步统一为一种整型类型
bool只有两种值True和False,对应整型中的1和0
python支持使用成对的单引号或者双引号表示,三引号可以用来包含特殊字符。使用索引操作([])和切片操作符([:])可以获得子字符串。
第一个字符的索引是0,最后一个字符的索引是-1
加号(+)可以用于字符串连接,星号(*) 则用于字符串的重复
列表和元组的区别,列表用中括号([])表示,而且列表的长度和里面的内容都可以改变,元组用圆括号便是,长度和内容都不可改变。但两者都能用索引操作符和切片操作符
字典由key-value构成,用大括号({})包裹
代码通过缩进对齐表达代码逻辑,而不是使用大括号
if 语句语法
if expression: # 非0或者为True,则执行代码组(suite)
if_suite
if expression:
if_suite
else:
else_suite
if expression:
if_suite
elif expression2:
elif_suite
else:
else_suite
if的表达式不需要用括号括起来
while循环语法:
while expression: # 直到表达式为0或者False为止
while_suite
for循环语法:
for item[, item2] in iterator:
for_suite
什么是“PEP”,一个PEP就是一个Python增强提案(Python Enhancement Proposal),提供了新特性的完整描述,还有添加这些新特性的理由,如果需要的话,还会提供新的语法,技术实现细节,向后兼容信息等。
函数 | 描述 |
---|---|
dir([obj]) | 显示对象的属性,如果没有提供参数,则显示全局变量的名字 |
help([obj]) | 显示对象的文档字符串,如果没有提供参数,则会进入交互式帮组 |
int([obj]) | 将一个对象转为整型 |
len(obj) | 返回对象的长度 |
open(fn, mode) | 以mode方式打开一个文件名为fn的文件 |
range([[start,]stop[,step]]) | 返回一个整型列表。起始值为start,结束值为stop-1,start默认为0,step默认为1 |
raw_input([str]) | 等待用户输入一个字符串,可选参数str作为提示信息 |
str(obj) | 将对象转为字符串 |
type(obj) | 返回对象类型(返回值本身是一个type对象) |