python精进之路1---基本数据类型

python的基本数据类型如上图,重点需要掌握字符串、列表和字典。

一、int、float类型

  int主要是用于整数类型计算,float主要用于小数。

  int类型有个bit_length的方法。它用于返回二进制表示是的位数。

    

二、 bool类型

  bool值就两个,True和False,bool值本身没什么多讲的,主要是bool值和各种其他数据类型的转换以及配合逻辑运算符的使用。

  int-->bool:非0转换化为True,0转换为False。

  str-->bool:空字符串转换为False,其他的转换为True。注意引号内如果哪怕只是一个空格也不是空字符。

  列表、元祖和字典都和字符串一样,当为空的时候转换为False,不为空转换为True。

  

三、str类型

  字符串是不可变类型,主要有两大方面需要注意,第一个是字符串索引和切片,第二个就是操作字符串的各种方法。

  1) 字符串索引与切片

    字符串其实也可以理解为字符数组,它的索引值也是从0开始的,所以和切片操作返回的值都是复制生成一个新的字符串,原来字符串

不会改变,永远记住字符串的不可变,没有修改字符串这一说法。切片有个顾头不顾尾的特性,具体的看下面代码:

    

  2) 字符串的操作方法

    字符串的操作方法很多,尽量多的掌握,永远记住操作字符串返回的都是一个新的字符串,具体各种方法看下面代码:

      

      

      

      

      

四、list类型

  列表是可变的数据类型,所以对它的大部分操作都是修改原列表,这与字符串的操作要有区分。

  1)列表的基本操作:

      增: append、extend、insert

        

        

      删: pop、remove、del、clear

        

        

        

        

        

        

      改:

        直接按照索引赋值修改:

            

        切片修改:

            

            

  2)一些公共方法

    len():返回列表的长度

    count():给定字符返回字符的个数

    index():给定字符返回字符的索引值

    sort():默认升序排序

    reverse():反转

         注意一个小知识点:

      当列表使用sort进行排序的时候,如果列表里面的字符串都是英文字母开头,那么它们是通过字符串第一个字母ASCII码

    的数值大小来排序的。

    

    

五、tuple类型

  tuple又称为只读列表。可循环查询,也可切片。但不能修改子元素。

  1)tuple操作

    元祖里面的子元素是不能修改的,但是这些子元素如果是可变的数据类型:例如列表、字典。

    那么这些子元素里面的元素是可以修改的,可以形象的说元祖的儿子不能改变,但孙子辈可能可以改变。

      

      

  2)元祖注意点

    元祖里面只有一个元素的时候,一定要在元素后面加一个逗号!!!这个逗号的学问大着,如果不加逗号,它就不是元祖类型,

  而是里面这个元素的类型,例如(1)就是整型。对于字典和列表里面只有一个元素的时候逗号加不加都无所谓。

     

六、dict类型

  字典的键key必须是不可变数据类型,值value可以是任意类型。

  1)字典的基本操作

     增:

        

        

        

    删:

      

      

      

    改:

      

    查:

      通过get查询如果键不存在不会报错,而直接利用键值查询会报错。

      

      

      

七、集合

  它本身是可变的数据类型。但里面存的元素必须是不可变的数据类型。

  集合里面的元素是无序的。

  集合里面的元素不允许重复。

  可以通过set函数创建集合,也可以像字典一样用{}来创建

  1)集合的基本操作:

    增:

      

      

    删:

     pop随机删除

     

     

     clear:清空后不会返回{},而是返回set(),为了和空字典区分。

      

    查:for循环遍历

  2)集合的复杂操作

    两个集合交集:

      

  

    两个集合并集:

      

    交集取反:

      

    

    差集:一个集合相对于另一个集合独有的

      

    子集和超集

      

补充知识:

一、join方法:

  通过指定字符将可迭代对象连接起来。

  join函数的参数必须是可迭代对象,不能使用整数。

  当参数是列表、元祖、字典时,子元素只能是字符串。

  当参数是字典时,只会取出键进行拼接。  

  

  

  

  

  

二、range方法

  range第三个参数表示步长,它可以是负数,但不能写0,不写默认为1。

  

  

  

  

 

      

 

 

python精进之路1---基础数据类型的更多相关文章

  1. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  2. 小白学 Python(2):基础数据类型(上)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...

  3. 小白学 Python(3):基础数据类型(下)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...

  4. 小白学 Python(16):基础数据类型(函数)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  5. 小白学 Python(17):基础数据类型(函数)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  7. python学习之路-day1-python基础1

    本节内容: Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else ...

  8. Python进阶之路---1.4python数据类型-数字

    python入门基础 声明:以后python代码未注明情况下,默认使用python3.x版本 1.python代码基础:print     print('hello,python')   1.1pyt ...

  9. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

随机推荐

  1. struts2的java.lang.NoSuchMethodException错误

    不久前在学习struts时出现这个错误,在网上搜索了半天,发现答案不一.将其总结如下,以方便大家参考. 1. 你有没有试试看 其它的方法能不能用,要是都是这种情况的话,可能是你的Action类没有继承 ...

  2. 07-MYSQL多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: ​    数据库的创建 : crea ...

  3. Gradle入门与使用

    注:此篇博客主要是看官网的学习笔记:https://docs.gradle.org/current/userguide/installation.html 一.安装: 1.Gradle有内置的groo ...

  4. js面向对象关键点

    函数加new 工作流程: (1) 创建一个新对象: => var this = new Object(); (2) 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象) : (3) ...

  5. Gparted Live分区调整

    由于年少无知,在安装ubuntu系统的时候,以为/temp是软件包安装时解压的缓冲,所以给/temp留了10G,而以为/var只是记录一些log而已,因此把仅存的1G分配给了它.随后在安装软件时出现“ ...

  6. Dev_GridView获取所选行的句柄

    这是官方帮助文档上的一句话: 此示例演示如何获取所选行,然后更改其字段值. GetSelectedRows方法检索所选行的句柄. 由于行句柄反映了在View中显示行的顺序,因此修改单行可 能会影响其他 ...

  7. ASPOSE.Word 开发资料整理

    1.总体说明:操作主要涉及两个对象Document及DocumentBuilder Document主要用来获取文档中的节点,DocumentBuilder主要用于实现文档内容的写入 doc_Oper ...

  8. Python练手例子(1)

    1.有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. #本人的运行 ...

  9. Java语言基础之数组

    引出数组和数组的定义 为什么要使用数组: 问题一: 声明变量时,每一个单独的变量都要对应一个变量名,但现在要处理一组相同类型的数据时,如要表示班上100个人的年纪,绝不能定义100个变量来表示每一个人 ...

  10. 工具包分享-常用工具。by-某某

    下载地址: 链接:http://pan.baidu.com/s/1hsseqm4 密码:a6rc 里面的工具全部来自互联网,本人不是工具的生产者,只是它的收集工. 都是一些很常用,顺手的工具,仅用于技 ...