python进阶之数据结构与算法--入门第一课(小白piao分享)

内容澄清:

    本作者的学习均来自与日常书籍,编码经验的总结,知识踩在伟人的肩膀上,加入自己的理解之后,分享给各位。请注意,知识梳理确实是原创,但不敢说知识是自己的,只能说我踩在巨人肩膀上。望各位同我一样,既然已经整理,就请各位看客,好好梳理即可,不要纠结知识从哪里来的,这样学习并没有好处,有资源,就吸取资源就好了。最近很多学生很好奇我是如何短期内获取或者分享这么多知识的,不要抱有侥幸心理,一切都是努力换来的,一切都是读过书籍转化为自己的东西来的。当你的野心配不上你的实力时,低下头好好学习。

入门:

    这是一个新的篇章,可能在此篇章中同学们可能觉得刚开始很简单,一切皆由简到难,逐步积累而来,而且,从本大章节开始,所有的知识将会得到全面的深化。
    本章节内容不太适用于新手刚开始编程人员,而是适用于大多数有了一定编程基础之后,想要细化知识点的同学。对于python大佬,请自行忽略,本来目的就是为了传播知识,让大家一起成长。

Python的内置类:

    python为我们准备了很多的内置类(面向对象的概念),这些类可以分为可变类,和不可变类。
    可变类:与不可变类概念相反
    不可变类:每个对象的实例化时有一个固定值,在随后的操作中不会被改变。例如float类,在创建后就不可以被改变。这是应该注意,初学者将其称之为数据类型float,但是实质上,python一切皆是类。
     需要记住:可变的内置类有list、set、和 dict,当然这里frozenset就是set的不可变版本。除了这些可变的类之外,其余内置类如:bool,int,float,tuple,str,frozenset均为不可变类。
    大多数内置类的创建都存在字面形式,诸如:var = 1; lt = [] 等。所有的内置类都支持传统的构造函数形式来创建基于一个或者多个现有值的实例。

bool类:

    布尔类用于处理逻辑值,该类标识的实例只有两个值:True 和 False;默认构造函数bool()返回False。python允许使用bool(非bool值)去创建一个bool对象,就数字层面而言,0为假,非0为真;就序列和其他容器而言,空为假,非空为真,这个规则是分支判断的中心思想!

整型类:

    在python中整型类可以表示任意大小的整型值,而不会向java、C++中对整型值还有精度上的区别(int、short、long);python会根据其整数的大小自动选择内部标识的方式。包括还可以很方便的使用其他进制的整数,只要以0开头配套字母即可,例如:0x5F,0b10011等。
    整型类的构造函数默认返回一个0值,该构造函数可以构造基于其他类型值的整型值,例如一个f是一个浮点型,则int(f )表示浮点数的整数位。

浮点类:

    浮点类是Python中唯一的浮点类型,使用固定精度表示,其精度更像是java和c++中的double类型,浮点型亦可以采用科学计数法2.33e10,表示2.33*10**10;默认的构造函数float()返回0.0,如果参数是一个字符串,将会导致解析失败抛出ValueError的异常

序列类型:列表、元组和str类

    list、tuple、str均是python中的序列类型。表示任意对象的序列。tuple是list的一个不可变版本。str中的字符不可变。

列表类:

    列表是一个参考结构,因为它在技术上实际存储的元素的引用序列。列表的元素可以是任意的对象,包括None对象,其采用0索引,因此有N个元素的列表,其元素的索引号为0~N-1;列表也是python中最常见的容器类型,对数据结构和算法的研究极其重要。其还具备动态扩容和缩容的能力。
    要注意,列表中元素不一定要字面表示出来,如果a,b已经被定义,则可以将列表表示为[a,b],list()构造函数默认产生一个空的列表,构造函数接受任意可以被迭代的对象作为参数。例如语法backup = list(data),那么backup将是一个新的列表实例子,该列表实例引用和data相同的内容作为原始列表元素

set和frozenset类:

    set表示数学中的集合的概念,即许多元素的集合,集合中没有重复的元素,且元素间没有内在的联系。这里有两个非常重要的算法基础产生的重要限制:1、集合内不能保存任何有特定顺序的元素集,2、集合中只能添加不可变类新的实例。因此,如整数、浮点数、字符串类型的对象,才可以保存在集合内。有可能出现元组的集合,但是不会出现列表的集合,或者集合的集合。因此,列表和集合是可变的frozenset是集合类型不可变的一个版本。所以由frozenset组成的集合是合法的。构造函数set()产生一个空集合,也可为参数添加可迭代对象,会将其转化为不重复元素的集合。

字典类:

    dict代表一个字典或者映射,即从一组不同的键上找到对应的值。dict类构造函数接受一个映射关系作为参数。另外构造函数也可以接受一系列键值对作为参数,例如:dict(data),data = [(‘name’,‘zhang’),(‘addr’,‘pudong’)]。

    自此,基本内置类的讲解已经完成,感谢各位同学的支持和鼓励,小白piao在这里会再接再厉,为各位梳理更多的重要指示。如果需要,可以关注“小白piao学python”公众号获取更多课程和内容。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白piao

创作不易,支持一下!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值