软件设计 2017-05-13
对于python,一切事物都是对象,程序中存储的所有数据都是对象,对象基于类创建计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。class 指自定义类型,type 指内置类型。两者都表示数据类型,称呼不同而已每个对象都有一个身份、一个类型和一个值,身份指对象在内存中所处位置的指针(内存中的地址),内置函数id()可返回一个对象的身份。变量名就是引用这个具体位置的名称实例化:创建特定类型的对象实例被创建后,其身份和类型不可改变 若对象值可修改,称为可变对象 若对象值不可修改,称为不可变对象容器:某个对象包含对其它对象的引用,如 列表。python是强类型语言,对象所属的类型决定了这个对象所能参与的操作或它支持的方法,即方法存在类中,对象里具有的功能都是去类里找的。大多数对象都有大量特有的数据属性和方法 属性:与对象相关的值,如 变量名 方法:被调用时将在对象上执行某些操作的函数
python会把类型中经常使用的操作做成1.内置方法 2.语法糖,自动触动方法
>>> name='test'>>> name.upper() --方法TEST>>> num = 1>>> print(num.real) --属性1help(type) -- 查看某个类型有哪些方法或属性>>> help(int)help(type.func) -- 查找某个方法的用法>>> help(str.find) 使用点(.)运算符可以访问属性和方法print(type(obj)) -- 查看对象由哪个类创建的 >>> from twisted.internet import reactor>>> print(type(reactor))
核心数据类型数字:int,long,float,complex,bool (0:False, 1:True)字符:str,unicode列表:list元组:tuple字典:dict文件:file其它:set(集合),frozeset, 类类型,None
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
Python对象的运算1. 算术运算+ - * / % // ** = != ==+= -= *= /= %= //= **=
//: 地板除,只取整数部分**: 求幂%: 取模,即取余数
注意:条件判断是否相等用==,一个=是赋值
if a == b:
pass
>>> (1+0.01) ** 365 --每天进步一点点37.78343433288728>>> (1-0.01) ** 365 --每天退步一点点0.025517964452291125python 有一个和数值相关的库 math , math模块可以实现算术的高级运算>>> import math>>> math.pi3.1415926535897932. 位运算:按位运算时把数字当做二进制来进行运算& 按位与,两个都为真结果才为真| 按位或,只要有一真结果为真^ 按位异或,只有一真和一假时结果才为真~ 按位取反,>>> ~9 => -10<< 左移动,将位向左移一位>> 右移动,将位向右移一位
128 64 32 16 8 4 2 0 0 0 0 0 0 0 0 010 1 0 1 0 50 1 1 0 0 1 0 & 0 0 0 0 1 0 | 1 1 1 0 1 03. 逻辑运算符and or not 在Python中,可以直接用True、False表示布尔值(注意大小写),也可以通过布尔运算计算出来。布尔值可以用and、or和not运算。and运算是与运算,只有所有都为True,and运算结果才是True;or运算是或运算,只要其中有一个为True,or运算结果就是True;not运算是非运算,它是一个单目运算符,把True变成False,False变成True布尔值经常用在条件判断中,如:if age >= 18: print('adult')else: print('teenager')4. 成员运算符innot in 5. 身份运算符is is not if a is b: