Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—Python的七十二变(四)

简介: 玩转Python语法(一):面向过程

*1.4 二进制与字符编码

注:本小节带 *,不需要进行学习,可以简单进行了解

⛲️ 计算机为什么能够认识我呢?

其实,我们的计算机没有我们想象中的那般智能,计算机其实只能认识01,那么对于01这两个字符,显然是只能表示两种状态的,可是我们的状态成千上万,显然是不够的,怎么去进一步包涵所有的状态呢?

答案就是:加位,如果只用一位数,那么显然只能是01这两种情况了,那么如果我们用两位数的话,就可以表示出:00011011四种不同的状态,那么如果我们用八位数去表示的话,就会有28即256种不同的状态,这就形成了我们的 ASCII 码表:

image.png

❗️ 这里多说一句:我们用 8 位就可以表示出来 256 种不同的状态,在 算法竞赛中,这样的思想叫做状态压缩,动态规划中常用的一种思想就是 状态压缩DP,对算法竞赛感兴趣的同学可以看我写过的一些算法文章,如:状态压缩DP

image.png

显然对于现实生活中,256个状态也是完全不够用的,至今,汉字已有90000多个,每一个汉字都对应一种状态,那么我们现在如何去把汉字甚至是各个国家的语言都成功的表达译到计算机中的呢?对此,世界上有如下图所示的规定:

image.png

1.5 类型转换

函数 作用 注意事项 举例
int() 将其他数据类型转为整型 文字和浮点型字符串不能转,浮点型转整型采用去尾法 int(‘666’)
str() 将其他数据类型转为字符串类型 str(666)
float() 将其他数据类型转为浮点型 带文字的字符串不能转,整型转浮点型末尾补.0 float(666)

下面用代码去演示:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/6 19:17
# 欢迎大家关注AIoT相关博客~
# int()函数的使用:
print(int(19.8))
print(int(True))
# print(int('hello world'))   这行代码会报错
# float()函数的使用:
print(float(74))
print(float('12.8'))
# print(float('hello 辰chen')) 这行代码会报错
# str()函数的使用:
print(str(666))
print(type(str(666)))

image.png

这里有一个小细节,我们发现 int(True) 的结果是 1,读者可以下去自己实践一下 int(False) 的结果


🚩这里还有一个特殊的小知识点,就是我们的bool() 函数,它的用法和上面所介绍的强制转换其实不一样,并不是把一个东西的值强制转换为 bool 类型,它的作用是获取对象的 bool 值,在 Python 中一切皆对象,所有的对象都有一个布尔值,我们可以采用  bool() 函数去获取 bool 值,使用方法就是把想求的对象放到 () 中即可,下面还是通过代码去演示一下:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/7 11:59
# 欢迎大家关注AIoT相关博客~
'''
我们规定以下对象的bool值为False:
False
0
None
以下的对象bool值也为False,我们后续会逐个去讲解
现在不需要掌握:
空字符串
空列表
空元组
空字典
空集合
'''
# 下面代码只演示我们学过的对象的bool
print(bool(None))
print(bool(0))
print(bool(False))
print('----------------------')
print(bool(666))
print(bool(-1))

image.png

目录
相关文章
|
2天前
|
Java C语言 C++
Python基础语法
Python基础语法
10 1
|
3天前
|
JSON 数据格式 索引
python之JMESPath:JSON 查询语法库示例详解
python之JMESPath:JSON 查询语法库示例详解
14 0
|
7天前
|
存储 Python
Python进阶语法之推导式
本章是对自己学完基础语法后,学习python进阶语法推导式过程中,自己的一些理解和看法,因为自己从刚开始第一次看看不懂,到学习一段时间后,通过积累再次看这里的知识点发现自己有了新的理解,这次将这部分知识学完了,剩下就是通过练习来达到熟练了.本章的推导式,包含列表推导式,字典推导式,集合与元组推导式这四种.主要是对python进阶语法推导式,的练习与理解,同时也提高了自己对代码的简化和运行的能力的提高,也是在这次学习中,我发现学习代码更多需要的是对基础和知识的积累,当眼界与思维突破瓶颈,看之前难以理解的事物发现变的容易去使用和理解了.
|
7天前
|
Java 开发者 索引
Python基础语法:类笔记
本篇博文是把自己在学习python类的过程中自己理解和笔记,一点一点总结的写出出来,做一个总结,加深对面向对象编程的理解。
|
11天前
|
Python
python中的语法错误
【4月更文挑战第23天】
18 3
|
14天前
|
测试技术 API 持续交付
【专栏】Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势
【4月更文挑战第27天】本文探讨了Python在自动化测试与单元测试中的应用,强调其简洁语法和丰富库的优势。文章分为三部分:首先,阐述自动化测试的重要性及Python的易学性、库支持、跨平台和社区支持;其次,介绍了Python的Unittest标准测试框架和Pytest第三方框架的特点与用法;最后,讨论了Web UI和API自动化测试实践,并提出持续集成、测试金字塔等最佳实践。Python为软件开发的测试环节提供了强大支持,帮助构建更稳定的系统。
|
17天前
|
Python
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
Python从入门到精通——1.2.2学习基础语法和数据类型之控制结构
|
16天前
|
存储 人工智能 数据处理
Python:编程的艺术与科学的完美交融
Python:编程的艺术与科学的完美交融
19 1
|
2天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
13 5
|
5天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。