专栏自述:随着这几年机器学习火爆,楼主写了Java好多年,python其实也会写,但是缺乏系统性梳理,所以搞一个python栏目,系统性梳理的同时也把python的知识做一些梳理,欢迎查阅,欢迎一起学习python
传送门:
- 7天入门Python 1 — Python本地安装
- 7天入门Python 2 — Python认识
- 7天入门Python 3 — Python对象属性及核心数据类型
- 7天入门Python 4 — 运算符、条件及循环
- 7天入门Python 5 — 函数、模块及异常
- 7天入门Python 6 — 输入输出、文件及OS
Python对象的相关术语
- 程序中存储的所有数据都是对象
- 每个对象都有一个身份、一个类型和一个值
- 例如,school = "MaGe Linux" 会以 "MaGe Linux" 创建一个字符串对象,其身份是指向它在内存中所处位置的指针(其在内存中的地址),而 school 就是引用这个具体位置的名称
- 对象的类型也称对象的类别,又是也将对象成为该类型的实例
- 实例被创建后,其身份和类型就不可改变
- 如对象值是可修改的,则称为可变对象
- 如对象的值是不可修改的,则称为不可变对象
- 如果某个对象包含对其他对象的引用,则将其称为容器
- 大多数对象都拥有大量特有的数据属性和方法
- 属性:与对象相关的值
- 方法:被调用时将在对象上执行某些操作的函数
- 使用点 (.) 运算符可以访问属性和方法
- 两个对象比较
- 值比较:对象中的数据是否相同
- 身份比较:两个变量名引用的是否为同一对象
- 类型比较:两个对象的类型是否相同
核心数据类型
- 数字:int,long,float,complex,bool,
- 字符串:str,unicode
- 列表:list
- 字典:dict
- 元组:tuple
- 文件:file
- 其他类型:集合(set),frozenset,类类型,None
- 其他文件类工具:pipes,fifos,sockets
类型转化
- str(), repr() 或 format():将非字符类型数据转换为字符
- int():转为整数
- float():转为浮点数
- list(s):将字串 s 转为列表
- tuple(s):将字串 s 转为元组
- set(s):将字串 s 转为集合
- dict(s):创建字典,根据制定键值对元组序列创建字典,d必须是(key,value)元组序列
# d必须为元组列表
d = [('a', 1), ('b', 2), ('c', 3)]
d1 = dict(d)
- char(x):将整数转为字串
- ord(x):将字符转化为整数值
- hex(x):将整数转为 16 进制字符
- oct(x):将整数转为 8 进制字符
数字类型
- Python的数字字面量:布尔类型,整数,浮点数,复数,所有数字类型均为不可变
序列类型
- 序列表示索引为非负整数的有序对象集合,包括字符串、列表和元组
- 字符串是字符的
- 列表和元组是任意 Python 对象的序列
- 字符和元组属于不可变序列,而列表则支持插入、删除和替换元素
- 所有序列都支持迭代
- 字符类型
- 字符串字面量,把文本放入单引号,双引号或三引号中
- 如果要使用 unicode 编码,则在字符之前使用u进行表示,如 u"magedu"
- 文本子串:模块、类型函数的第一条语句是一个字符的话,该字符串就成为文档字符串,可以使用 __doc__ 属性使用
- 适用于所有序列的操作和方法
- s[i]:索引运算
- s[i:j]:为切片运算符,s[i:j:stride] 为扩展切片运算符
- min(s) 和 max(s) 只适用于能够对元素排序的序列
- sum(s) 只适用于数字序列
- 适用于字符串的操作,Python2 提供 两种字符串对象类型
- 字节字符串:字节(8bit数据) 序列
- Unicode字符串:Unicode字符(16bit数据)序列
- Python可以使用 32bit 数据保存 Unicode字符,但此为可选特性
- 列表
- 容器类型
- 任意对象的有序集合,通过索引访问其中的元素,可变对象
- 异构,任意嵌套
- 支持在原处修改
- 修改指定的索引元素,修改指定的分片,删除语句,内置方法
- 常见操作
- l1 + l2:合并两个列表,返回一个新列表,不会修改原列表
- l1 * N:把 l1 重复 N 次,返回一个新列表
- in:成员关系判断字符,用户 item in container
- not in:obj not in container
- 列表解析:[]
- 容器类型
- 元组
- 表达式符号:()
- 容器类型
- 任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定
- 异构,嵌套
- 常见操作
- t1 + t2:合并两个元组,返回一个新元组,不会修改原元组
- t1 * N:把 t1 重复 N 次,返回一个新元组
- 元组解析:(),(1,), (1,2)
- in:成员关系判断字符,用户 item in container
- not in:obj not in container
- 字典
- 字典在其他编程语言中又称作关联数组或散列表
- 通过键实现元组存取:无序集合;可变类型容器,长度可变,异构,嵌套
- 常见操作
- {} 空字典
- {'key1' : 'value1', 'key2' : 'value2'}
- 字典复制:d2 = d1.copy()
- d1.iteritems:返回一个迭代器对象
感兴趣的同学可以点关注哦,持续更新~