1.Python的对象模型
对象是python语言中最基本的概念,在python中处理的每样东西都是对象。python中有许多内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random( )等。
对象类型 | 示例 |
数字 | 1234, 3.14, 3+4j |
字符串 | 'swfu', "I'm student", '''Python ''' |
日期 | 2012-08-25 |
列表 | [1, 2, 3] |
字典 | {1:'food' ,2:'taste', 3:'import'} |
元组 | (2, -5, 6) |
文件 | f=open('data.dat', 'r') |
集合 | set('abc'), {'a', 'b', 'c'} |
布尔型 | True, False |
空类型 | None |
编程单元类型 | 函数、模块、类 |
1>变量的命名
以字母或下划线(有特殊含义)开头
变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等)
不要使用关键字(在keyword模块中)作变量名
不要使用系统内置的模块名或函数名(可以通过dir(__builtins__)查看)作变量名
大小写敏感
2>创建变量
Python创建变量不需要提前声明,例如:a,b=3,5 #创建了变量a,b
a,b=3,5 a,b=b,a # a,b交换数值
快捷键 | 功能说明 |
Alt+p | 浏览历史命令(上一条) |
Alt+n | 浏览历史命令(下一条) |
Ctrl+F6 | 重启Shell,之前定义的对象和导入的模块全部失效 |
F1 | 打开Python帮助文档 |
Alt+/ | 自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,则在多个单词中循环选择 |
Ctrl+] | 缩进代码块 |
Ctrl+[ | 取消代码块缩进 |
Alt+3 | 注释代码块 |
Alt+4 | 取消代码块注释。 |
Tab | 补全单词 |
对于没有任何变量指向的值,Python自动将其删除。Python跟踪所有的值,并自动删除不再有变量指向的值。
4.操作符,表达式,以及常用内置函数
操 作 符 | 描 述 |
x+y , x-y | 加法/字符串合并 , 减法/集合差集 |
x*y , x/y , x//y , x%y | 乘法/重复,除法,求整商,余数/格式化(对实数可以进行整除和余数运算) |
x**y | 幂运算 |
x<y , x<=y , x>y , x>=y | 大小比较,集合的包含关系比较 |
x==y , x!=y | 相等比较(值),不等比较 |
x or y | 逻辑或 (只有x为假才会计算y) |
x and y | 逻辑与(只有x为真才会计算y) |
not x | 逻辑非 |
x in y, x not in y | 成员与集合的关系 |
x is y, x is not y | 对象实体测试(地址) |
|、^、&、<<、>> | 位运算符 |
内置函数不需要导入任何模块即可使用
执行下面的命令可以列出所有内置函数
>>>dir(__builtins__)
函 数 | 功 能 |
abs(x) | 返回数字x的绝对值 |
bin(x) | 把数字x转换为二进制串 |
chr(x) | 返回编码为x的字符 |
eval(s[, globals[, locals]]) | 计算字符串中表达式的值并返回 |
float(x) | 把数字或字符串x转换为浮点数并返回 |
help(obj) | 返回对象obj的帮助信息 |
hex(x) | 把数字x转换为十六进制串 |
id(obj) | 返回对象obj的标识 |
input([提示串]) | 接受键盘输入,返回字符串 |
len(obj) | 返回对象obj包含的元素个数 |
注:1> print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出:
eg:
>>> print 'The quick brown fox', 'jumps over', 'the lazy dog' The quick brown fox jumps over the lazy dog #输出结果
2>在Python中,等号'='是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量;静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。
3>变量在计算机内存中的表示也非常重要。当我们写:a='ABC'时,Python解释器干了两件事情:
1. 在内存中创建了一个'ABC'的字符串;
2. 在内存中创建了一个名为a的变量,并把它指向'ABC'。
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据
4>整数和浮点数混合运算的结果是浮点数
5>Python支持布尔类型的数据,布尔类型只有Ture和False两种值,但它们可以进行与或非运算,在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,Python把0、空字符串‘’和None看成 False,其他数值和非空字符串都看成 True,此外注意and 和 or 运算的一条重要法则:短路计算。
(1)在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
2.在计算a or b时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。