python精进之路1---基础数据类型
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---基础数据类型的更多相关文章
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- 小白学 Python(2):基础数据类型(上)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 接触一门新的语言,肯定要先了解它的基础数据类型.啥?你问我为啥要先了解基础数据类型? 为了你的生命安全,还是乖乖听我 B ...
- 小白学 Python(3):基础数据类型(下)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...
- 小白学 Python(16):基础数据类型(函数)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- python学习之路-day1-python基础1
本节内容: Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else ...
- Python进阶之路---1.4python数据类型-数字
python入门基础 声明:以后python代码未注明情况下,默认使用python3.x版本 1.python代码基础:print print('hello,python') 1.1pyt ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
随机推荐
- WPF:解决数据绑定时不更新数据的问题
当用户在窗体控件中修改数据时,如果此时用户点击其它窗体会出现数据没有更新的情况. 这是由于数据绑定默认是通过失去焦点来提交数据的.可通过属性变更方法来更新数据: <TextBox.Text> ...
- Django表单字段汇总
Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的.每个Field的实例都有一个cle ...
- ant design select placeholder不生效原因
当select的value绑定一个state默认值时,如果默认值是''或null时,placeholder不生效 解决方案:默认值设为undefined
- Tornado-Form表单验证
基本思路 用户提交表单后,验证开始.页面中会有多个域要求验证,如text input,files, checkbox.同时,根据验证字段的不同,验证方式会有很多种,例如对邮箱.IP地址.电话的验证标准 ...
- ECMA Script 6_字符串_扩展_字符 是4字节还是2字节?_模板字符串
ES6 字符串扩展 ES6 加强了对 Unicode 的支持,并且扩展了字符串对象 字符 的 Unicode 表示法 允许采用 \uxxxx 形式表示一个字符, 其中 xxxx 表示字符的 Unico ...
- AJAX_违反了同源策略_就是"跨域"——jsonp 和 cors
https 协议 默认端口号 443 http 协议 默认端口号 80 同源策略 由网景公司提出的——浏览器 的 为了浏览器安全而生 同源策略: 协议.域名.端口号 必须完全一致 违 ...
- [Codeforces Round #438][Codeforces 868D. Huge Strings]
题目链接:868D - Huge Strings 题目大意:有\(n\)个字符串,\(m\)次操作,每次操作把两个字符串拼在一起,并询问这个新串的价值.定义一个新串的价值\(k\)为:最大的\(k\) ...
- 校园服务nabcd需求分析
我们的团队是敲啥都队 口号是敲啥都队敲啥都对 1.你的创意解决了用户的什么需求?(N) 我们校园服务1主要为了节省学生所浪费的没必要的时间.当你还是大一新生的时候,你是否对大学的规划一无所知,你是否迷 ...
- Linux 部署 xxl-job 注意问题
问题:Failed to create parent directories for [/data/applogs/xxl-job/xxl-job-admin.log][原因:权限不足] 启动终端: ...
- python摸爬滚打之day28----黏包处理
1.缓冲区和subprocess模块 1.1 缓冲区( 当send()内容超过输入缓冲区大小或recv()接收内容超过输出缓冲区大小时旧版本(py3.5以前)是会直接报错的, py3.5以后如果出错 ...