1 Python 对像的三个特性
- 身份:id()
(1)每一个对象都有一个唯一的身份标识;
(2)该标识可以使用内建函数 id()来得到。
(3)身份可以被认为是该对象的内存地址。 - 类型:type()
(1)对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则。
(2)可以用内建函数 type()查看 Python 对象的类型。
(3)因为在 Python 中类型也是对象,所以 type()返回的是对象而不是简单的 字符串。 - 值
- 对象的比较有三种:身份、值、类型
#值比较
>>> num1 = 1
>>> num2 = 2
>>> num1 == num2
False
# 身份比较
>>> num1 is num2
False
#类型比较
>>> type(num1) is type(num2)
True
2 对象引用(变量)
(1)Python将所有数据存为内存对象
(2)Python中,变量事实上是指向内存对象的引用
(3)type用于返回给定数据项的类型
(4)“=”用于将变量与内存中的某对象绑定,如果对象已经存在就直接绑定;否则由“=”创建引用的对象
(5) 变量名没有类型,对象才有
- 命令惯例
变量_x 不会被from module import *语句导入;
__x__ 系统定义的变量名,对python解析器有特定含义;
__x 类的本地变量;
_ 交互模式下,用于保存最后表达式的结果
3 控制流语句
if
while
for...in
try
4 输入/输出
- 输出:print
- 输入:input(), raw_input()
- 3种标准文件对象:
标准输入:sys.stdin
标准输出:sys.stdout
标准错误:sys.stderr
-
输出修饰符
5 函数
- (1)函数创建与调用
callable用于测试函数是否可以被调用
>>> def test(name):
... print name
...
>>> a='tom'
>>> test(a)
tom
>>>
- (2)返回值
Python函数都要有返回值,默认是None,也可以 return value明确定义返回值。
- (3)内置函数
Python中含有众多内置模块,每个模块都有内置函数,比如random模块
>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_acos', '_ceil', '_cos', '_e', '_exp', '_hashlib', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'division', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
>>>
6 python文件结构
(1)每一个模块或函数内都有文档注释,调通函数__doc__即可查阅;
(2)如果模块是被导入, __name__ 的值为模块名字 如果模块是被直接执行, __name__ 的值为 '__main__'
7 python数据类型
- (1)核心数据类型
数字:int,long,float,complex,bool
字符:str,Unicode
列表:list
字典:dict
元祖:tuple
文件:file
其他类型:集合(set),frozenset,类类型,None
其他文件类工具:pipes,fifos,sockets
- (2)类型转换
str()/repr()/formot():对象转换成字符串
int(): 转为整数
float():转为浮点数
list(s) :把字符串转换为列表
set(s):把字符串转换为集合
frozenset(s):把字符串转换为不可变集合
dict(d):创建字典,其d必须是(key,value)的元组序列
chr(x):将整数转换为字符
ord(x):将字符转换为整数值
hex(x):将整数转换为十六进制
bin(x):将整数转换为二进制
oct(x):将整数转换为十进制
unicode(obj) 把对象转换成 Unicode 字符串(使用默认编码)
basestring() 抽象工厂函数,其作用仅仅是为 str 和 unicode 函数供父类