7天入门Python 3 — Python对象属性及核心数据类型

专栏自述:随着这几年机器学习火爆,楼主写了Java好多年,python其实也会写,但是缺乏系统性梳理,所以搞一个python栏目,系统性梳理的同时也把python的知识做一些梳理,欢迎查阅,欢迎一起学习python

传送门:

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:返回一个迭代器对象

下一节:7天入门Python 4 — 运算符、条件及循环

感兴趣的同学可以点关注哦,持续更新~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值