对象:python中,一切皆对象。本质就是一个内存块,拥有特定的值,支持特定类型的相关操作。由标识、类型、值组成。
标识:id(obj),内存中的地址
类型: type(obj) 对象存储的数据类型
值: print(obj) 打印值
引用:变量就是对象的引用,变量在栈里面,对象在堆里面,变量存储的就是对象的地址。python是动态类型语言,不需要显式声明类型,因为对象就已经包含了类型,直接变量引用就可以了。因此对象都是有类型的,变量没有。
帮助文档:在IDLE编辑器下,按“F1”可以进行帮助文件的查看
标识符:
常量为全大写;变量为全小写; 模块和包为全小写;函数名全小写;类名首字母大写
垃圾回收机制:当对象不被引用的时候,系统就会回收堆里面的对象
内置数据类型:浮点数除法:8/2=4.0(得到的是浮点数);整数除法:7//2=3;divmod(13,3)返回元组,返回的是商和余数
python3中可以做超大数的计算,不会造成“整数溢出”,这也是python特别适合科学运算的特点。浮点数在内存中是以科学计数法的形式存储,314e-2或者3.14
练习:随意画一个图像,计算起始点到终点的距离。
同一运算符:is与==区别
is是判断是否是同一个对象,比较的是地址;==是判断值是否一样,是对象的_eq_()方法。
字符串:字符串的本质是字符序列。字符串是不可变的,是一个基本的数据类型
ord(): 将字符传进来转化成unicode;chr()将十进制转化成字符
str() : 实现 数字类型转换成字符串
【】: 提取字符
replace :实现字符串替换,字符串是不可替换的,但是需要修改,就需要replace(‘a’,‘b’),将a换成b了,原字符没有变换,只是变量指向了新的对象。
slice:切片,截取子字符串 【起始:终止:步长】
split: 分割,将字符串分割成多个子字符串
join: 进行拼接,只生成一个字符串
字符串驻留机制:符合标识符规则的字母、_和数字会启用字符串驻留机制
not in/in :判断子字符串是否在字符串里面
字符串常用方法:
len(a) 、a.startswith("str")、a.endswith("str")、a.find(‘a’)、arfind('a')、a.count(“a”)、a.isalnum()
去除首尾空格:strip
字符串格式化:str.format()
a="名字是“{0},年龄是:{1}"
a.format(”gao“,18)
StringIO可以生成一个可变的字符串