梳理Python基本认识基本类型,从零开始学习,人人都能搞清楚!
Python作为一种编程语言,被称为“胶水语言”,更被拥趸们誉为“最美丽”的编程语言,从云端到客户端,再到物联网终端,无所不在,同时还是人工智能优选的编程语言。
先罗列一下Python提供的基本数据类型:数值(整型、浮点型、复数、布尔型等)、字符串、列表、元组、字典、集合等,将它们简单分类如下:
数值(Numbers)
numbers:列出了一些简单的例子
bool:调用bool()可以检查变量的真假值True或False。
if语句通过判断布尔类型来控制程序的执行路径,同时在 Python 中数据有隐式的真假值,可以使代码变得简短有效,如下
字符串(String)
首先,我们定义一个s='python'语句,它在计算机中的执行顺序是先在内存中创建一个字符串python,在程序栈寄存器中创建一个变量s,最后把python的地址赋给s 。
再来看看字符串的一些常见操作
- 切片
- 替换
- 查找
find()
index()
- 转大小写
upper(),lower(),swapcase(),capitalize()
- 去空格,strip()、lstrip()、rstrip()
- 连接与分割
使用 + 连接字符串,每次操作会重新计算、开辟、释放内存,效率很低,所以推荐使用join
- 还有一些常用的,这里只列出来
以上是一些常见的操作,当然还有一个没有列出来,这里想单独拿来谈谈,就是 Python3 字符串的编码:
- ASCII 编码出现最早,只有大小写英文字母、数字和一些符号等127个字符,为了实现多语言表示,如中文的GB2312编码,日文的Shift_JIS编码等,Unicode 孕育而生,它将所有语言都统一到一套编码中;
- 在 Python3 中所有字符串在内存中均是 Unicode 保存;
- 当需要将文件保存到外设或进行网络传输时,就要进行编码转换,将字符转换为字节,以提高效率
在 Python3 中,内存中的 Unicode 字符用 str 对象表示,对应于的,Python3 使用了一种全新的数据类型来表示字节,就是 bytes,所以 encode 转换后的字节流就不是 str 对象,而是 bytes 字节对象,它当然支持分片、索引、基本数值运算等操作,但 str 与 bytes 类型的数据不能进行+操作。
来看看 bytes 数据类型的定义:
从上述例子中可以看出 bytes 对象不能由超出 ASCII 码范围的字符组成,只接受 ASCII 码这个范围的字符。
同样,从上面的例子我们还可以总结出一些坑爹的东西:
- Unicode 码在 Python3 中有两种表示方式,u'字符串'和\u四位十六进制数;区分r'字符串' ,是表示不转义的原始字符串
- 将字符直接以 Unicode 码保存使用unicode-escape
- 在 Python 的交互式环境中,输出 bytes 对象时,可按 ASCII 码表示,或按十六进制\x表示
- 在 Python 头声明#-*- coding:utf-8 -*-,是告诉 Python 编译器按utf-8的方式读取,这个声明并不能将 Python 文件本身保存成utf-8,这时候需要借助文本编辑器保存文件编码。
编码部分我的理解就是这些了,感觉还是没有将编码问题总结清楚(无奈),还有什么补充的可以留言给小编
列表(List)
Python 可使用语法糖[]表示列表,其中的元素可以是任何类型,以顺序存储的方式动态储存数据:
元组(Tuple)
元组与列表不同的是,元组是不可变类型(immutable),不能对元素进行修改,但内存可以明确知道需要分配多少空间给元组
字典(Dictionaries)
字典是通过键值对的方式进行存储,占用大量的内存而获得极快的查找和插入速度,而列表刚好相反,查找和插入速度随着元素的增加而变慢,但占用的内存较小。字典虽然是可变类型,但因为它的 value 的位置是根据 key 计算出来的,因此 key 必须是不可变对象,这样才能确保字典的正确使用。
自定义数据类型
Python 允许通过继承去自定义数据类型,很多第三方库或框架都有类似的应用,这里简单实现了一个供参考:
最后再给大家分享一套由北京尚学堂高淇老师亲自录制,400集约200G的python全栈入门到精通的python全套+前端+4个实战项目,小伙伴们快快领取学习吧!
教程目录
硬件:
第一篇:操作系统简介
第二篇:操作系统
linux基础:
第一篇:初始Linux
第二篇:基本使用
第三篇:Linux进阶
python基础:
第一篇:python基础大纲
第二篇:变量与交互
第三篇:快捷键
第四篇:基本数据类型,基本二,字符串,列表,元组,字典,集合
第五篇:基础条件和循环
第六篇:循环,元组,字典列表代码整理,计算器小程序,一大波作业来袭
第七篇:第六篇-练习代码
第八篇:集合
第九篇:字典
第十篇:元组
第十一篇:列表
第十二篇:字符串
第十三篇:日期格式化
python-文件处理:
第一篇:字符编码、文件处理
python-函数:
第一篇:初始函数
第二篇:函数进阶
第三篇:装饰器
第四篇:递归与二分法
第五篇:内置函数思维导图
第六篇:迭代器、生成器、列表推倒。。
第七篇:eval一个神器的函数
python-模块和包:
第一篇:模块导入和包
第二篇:常用的几个模块
第三篇;摘要算法模块
第四篇:logging模块
第五篇:configparser模块
python-面向对象:
第一篇:初始面向对象
第二篇:面向对象三大特性
第三篇:property-staticmethod-classmethod
第四篇:神奇的反射
第五篇:面向对象拓展
python-异常处理:
第一篇:异常处理
python-网络编程:
第一篇:初始socket
第二篇:客户端服务端一、客户端服务端二
python-进程、线程、协程:
第一篇:线程与进程
第二篇:并发编程
第三篇:多进程模拟抢票
第五篇:进程的队列
第六篇:互斥锁
第七篇:开启线程的两种方式,线程queue
第八篇:线程与进程的两种应用
第九篇:死锁与递归锁,定时器
第十篇:event模式数据库链接
第十一篇:进程池与线程池,统一进程的两个任务切换问题
第十二篇:同步与异步
第十三篇:阻塞IO,非阻塞IO,多路复用
第十四篇:进程、线程、协程终极版
数据库-MySQL-MongoDB:
第一篇:MySQL--数据库基本操作一,基本操作二
第二篇:MySQL--进阶操作(了解即可)
第三篇:MySQL--经典习题
第四篇:MongoDB
前端:HTML、css、JavaScript、jquery、vue.js:
第一篇:HTML
第二篇:css
第三篇:JavaScript
第四篇:jQuery,跨域实例
第五篇:vue.js入门,项目结构介绍,es6入门
第六篇:vue.js详细的操作实例一
第七篇:vue-router篇
第八篇:快速上手npm
第九篇:初识webpack
python-Django框架:
第一篇:安装以及介绍--Django生命周期--一些命令----笔记---笔记2--笔记3
第二篇:初始django,MTV模型,请求方式测试
第三篇:简单的登录注册,admin管理,权限管理测试
第四篇:模板层,练习,模板继承,csrf跨站
第五篇:基于MySQL的图书管理,图书管理增删改,加了cookie的图书管理
第五篇:orm查询,查询二
第六篇:cookie验证,cookie与session
第七篇:diy自己的权限系统
第八篇:Django-ajax,,跨站请求伪造,jQuery-serizlize的用法
第九篇:文件上传,验证码,Django缓存问题
第十篇:Django-rest-framework,部分总结
第十一篇:content-type
Git-版本控制:
第一篇:Git入门
第二篇:git操作演示
python-flask框架:
第一篇:flask各种小东西
第二篇:flask开发框架,配置文件
第三篇:单例模式
第四篇:flask-session源码剖析
第五篇:flask-session组件
第五篇:信号
第六篇:sqlalchemy操作,操作2,详细,,命令使用
第七篇:flask-script
redis:
第一篇:基本使用
爬虫相关
第一篇:爬取校花网资源
第二篇:请求库-request
第三篇:解析库-re-beautifulsoup
第四篇:存储库-MySQL(见上面MySQL),MongoDB
第五篇:github绵密登录,自动投递简历
第六篇:提高爬虫性能,爬虫性能测试代码
第七篇:爬虫框架scrapy1,爬虫框架scrapy2
第八篇:爬取亚马逊商品信息,爬取网络小说
第九篇:分布式爬虫 ---
项目练习:
第一篇:基于bootstrap搭建静态网站
第二篇:基于bootstrap+MySQL搭建动态网站
第三篇:基于HTML,css,jQuery,JavaScript,MySQL搭建博客系统
第四篇:基于django做权限控制
第五篇:基于django做增删改查组件,分页器组件
第五篇:为公司做crm资产管理
第六篇:基于flask做权限控制
第七篇:爬虫项目
第八篇:路飞学成搭建
源码剖析:
第一篇:flask
第二篇:django
第三篇:django-restframework源码流程分析
金融与算法:
第一篇:金融介绍
第二篇:量化投资与python
第三篇:ipython基础认识
第四篇:numpy数组运算,事例代码
第五篇:pandas数据分析,事例代码
第六篇:matplotlib绘图可视化,事例代码
第七篇:金融分析实例(了解)
第八篇;算法基础(理论),实例代码
第九篇:排序lowB三人组,示例代码
第十篇:NB三人组,示例代码
第十一篇:算法进阶、其它(了解)
第十二篇:数据结构、数据结构实例代码
第十三篇:设计模式、设计模式实例代码