首页 > 编程语言 >用人话讲计算机:小白版Python篇!(二)基本数据类型1和进制数

用人话讲计算机:小白版Python篇!(二)基本数据类型1和进制数

时间:2024-10-21 13:48:11浏览次数:3  
标签:10 进制 Python 数据类型 十进制 二进制 八进制 白版 进位

一、数据类型

上一节我们曾讲到a=1,b=2,c=“b”之类的东西,我们知道a,b,c叫做变量,而现在所谓的数据类型,其实就是1,2,“b”他们分别属于什么。而我们将数据们分为以下几个类型:

1、整数

整数,就是我们日常生活中的整数,如1,2,3,-1,-2,0,10,90之类。

定义方式:

a=1

2、浮点数

浮点数,就是小数,如1.2,3.6,-1,7等

定义方式:

a=1.2

3、字符串

字符串,就是双引号(单引号)括住的东西,通常是字,字母,如“a”,“bde”,‘c’,“你今天笑了吗”中的a,bde,c,你今天笑了吗都是字符串。

定义方式:

a="你今天笑了吗"

问题来了,“1”是整数还是字符串?

答案是:字符串。因为它也被双引号括住了。所以我才说通常啊,毕竟如果数字加了双引号或者单引号,它就变成字符串了哦。

所以以下输出的两个1,它就不是同一个1了。一个是数字1,一个是字符1。

第二个问题来了,如果字符是‘或者“呢?

之前我们讲过了,可以用双引号括住单引号,单引号括住双引号,如下:

问题第二问:如果它既有单引号又有双引号呢?比如我们想说:

A.sir说:"今天讲讲'沙发土豆'这个词。"

这就可以用到转义字符了,简单来说就是 \ ,\ 加上你要表达的东西就OK了,比如下面这种表示方法:


我们在“”和‘’前面加上 \ 就可以完美解决了!

4、布尔类型

布尔类型,用bool表示。用人话说,bool类型可以理解为“真还是假的类型”

它不像整数、浮点数、字符串都包括很多东西,bool只有两个东西,一个是True,一个是False。

所谓True,就是真的,比如3>2对不对?对,那3>2就是真的,它就是True。也就是说,我们说True就是一条很对的语句,而False就是一条不对的语句,我们来看下面这个例子:

3>2很对啊,所以计算机输出True,1>4不对啊,所以计算机输出False

有人说,这个有什么用?其实……目前来说,作用不大,但你要知道,因为后面有大用。

二、进制数

进制数,标准解释是:

进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制---X进制,就表示每一位上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

人话版(已经懂了的天才可跳过):

我且问你,1,2,3,4,5,6,7,8,9后面是多少?答案是10.那么10后面是多少,是11,12,13,14……。其中从9加上1到10就是进位,就是把一位数变成了两位数,然后第一位数清0,第二位数进1。这是我们常用的十进制,就是逢10进1.等到19的时候,再次进位,前面的1进位成了2,后面的9再次清零成为0,然后从头加起。

所以进制数,就是逢几进一,然后清零后面的其他位数。比如下面的几个进制数:

1、二进制

二进制,到2进1。

我们对照下面这个转换表:

十进制二进制
11
210
311
4100
5101
…………
1001100100

十进制的2对应二进制10(读作一零,不是十),当二进制下1再加上1,它要进位了,首先把前面那个没显示出来的0,加一个1变成1(插个点1,待会讲),然后把后面的东西清0,所以1变成10.

十进制4对应二进制100(读作一零零),当11加上1时,后面的1进位,给前面的1加一个1,然后自己变成了0,这时前面的1加1又要进位,所以再给前面加一个1,然后自己变成0,这就成了100.

点1:我们知道十进制里01和1其实是一个数,其他进制里也一样,所以上表正确的写法,应该是下表才对:

十进制二进制
10000001
20000010
30000011
40000100
50000101
…………
1001100100

前面加上0,既是为了方便进位,有时也为了美观。至于前面写几个0,完全看个人意愿了,当然不写也是可以的。

Tips小技巧:给你一个数1100100,有什么办法能快速转换成十进制数吗?

方法:把二进制数拆成单个单个的数,然后当做2的乘数,再从右到左按次0123作为指数,最后加在一起就是十进制数。

比如:二进制下的100,拆成1,0,0,就是1乘2的2次方+0乘2的1次方+0乘2的0次方=4

如果不懂,那就直接看图找规律吧:

简单来说,就是用二进制的数确定2前面乘0还是1,用从右往左数第几个数来确定2的指数是多少。

什么?你问为什么是2,因为这是二进制啊。如果是八进制,那就是8喽。

下一个问题,如何把十进制快速转换成二进制?

答案,短除法,将其一直÷2.比如33:

33÷2=16…… 1

16÷2=8 …… 0

8÷2=4 …… 0

4÷2=2 …… 0

2÷2=1 

所以33转换二进制得:10001

2、八进制

八进制,到8进1。

话不多说,上对照表:

十进制八进制
11
22
…………
77
810
911
……
97141

如果二进制你能明白,八进制想必也不用多说了。

八进制转十进制,比如八进制下141:

1*8^2+4*8^1+1*8^0=97(十进制)

十进制转八进制:就是一直÷8,原理同二进制。

3、十六进制

十六进制,到16进1.

不用多说,跟二进制大同小异,唯一需要说明一点:

十六进制里,A代表10,B代表11,C代表12,D代表13,E代表14,F代表15.

所以说,38D76CA,相当于下图:

4、符号说明

(1)二进制以 0b 或 0B 开头:0b1101

(2)八进制以 0o 或 0O 开头:0o456

(3)十进制:123

(4)十六进制以 0x 或0X 开头:0x1A(注意开头是零!)

用法如图:

三、补充知识

1、科学计数法:

对于很大或很小的浮点数,就必须用科学计数法表示,把 10 用 e替代,1.23x10的9次方就是 1.23e9,或者 12.3e8,0.000012 可以写 1.2e-5

2、进制转换函数:

a = 10 #十进制数
b = bin(a) #转换为二进制
c = oct(a) #转换为八进制
d = hex(a) #转换为十六进制

都是死记硬背的东西,不过用的不多是啦。

3、其他:

对于很大的数,例如 1000000000,很难数清楚 0 的个数。Python 允许在数字中间以_分隔,因此,写成 1_000_000_000和 1000000000 是 完 全 一 样 的 。

标签:10,进制,Python,数据类型,十进制,二进制,八进制,白版,进位
From: https://blog.csdn.net/2301_81711570/article/details/143080377

相关文章

  • 用人话讲计算机:小白版Python篇!(一)入门知识点和基本语法规范
    注:以下篇章都是用Pycharm写的,具体安装看我主页教程:2024最新:Python与PyCharm下载教程(含汉化!!!)一、什么是Python?标准版:Python是一种高级的、动态类型的编程语言,以其简洁的语法和丰富的库著称。‌Python由荷兰人吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品,它是一......
  • 【计算机毕设选题推荐】基于python的在线考试系统的设计与实现【附源码+部署+讲解】
    ✍✍计算机毕设编程指导师**⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流!⚡⚡Java、Python、小程序、大数据实战项目集⚡⚡文末获取......
  • python 合并同列数据 组合 新的excel
    importpandasaspdfromopenpyxlimportload_workbook#读取Excel文件file_path='test.xlsx'#替换为你的Excel文件路径df=pd.read_excel(file_path)#显示读取的数据print(df)#打开工作簿wb=load_workbook(file_path)ws=wb.active#获取活动工作表......
  • Python小游戏9——天天酷跑
    安装Pygame库。如果你还没有安装,可以使用以下命令:bashpipinstallpygame 游戏代码:pythonimportpygameimportrandom #初始化Pygamepygame.init() #屏幕尺寸SCREEN_WIDTH=800SCREEN_HEIGHT=600screen=pygame.display.set_mode((SCREEN_WIDTH,S......
  • Python小游戏8——贪吃蛇
    贪吃蛇游戏说明蛇可以通过方向键来控制移动,目标是吃掉红色的小方块(食物),每吃掉一个食物,蛇的长度就会增加。如果蛇撞到了墙壁或自己,游戏就会结束。 通过以下命令安装pygame库:bashpipinstallpygame以下是贪吃蛇游戏的代码:pythonimportpygameimportrandom#......
  • 解决python多环境冲突问题
    解决Python多环境冲突问题,以下是一些详细的解决方法:1.使用虚拟环境虚拟环境允许你为每个项目创建独立的Python环境,每个环境可以有自己的库和依赖。常用的工具包括venv、virtualenv和pipenv。使用venvvenv是Python3.3及以上版本自带的模块。#创建虚拟环境python-mvenv......
  • 基于Python的学生考勤管理系统(源码+lw+部署文档+讲解等)
    项目整体介绍基于Python+django的学生考勤管理系统是一款专门为学校设计的高效管理工具。该系统充分利用Python的强大编程能力和django的高效Web框架,实现对学生考勤的全面管理。系统具备学生信息管理功能,可以准确记录学生的基本信息,如姓名、学号、班级等。同时,教......
  • 基于Python+django的学生管理系统(源码+lw+部署文档+讲解等)
    项目整体介绍基于Python+django的学生管理系统是一款功能强大且高效的管理工具。该系统利用Python的灵活性和django的高效框架进行设计与开发。在功能方面,学生管理系统可以实现学生信息的录入、查询、修改和删除。能够详细记录学生的基本信息,如姓名、学号、班级、......
  • Python 自编码器(Autoencoder)算法详解与应用案例
    目录Python自编码器(Autoencoder)算法详解与应用案例引言一、自编码器的基本原理1.1自编码器的结构1.2自编码器的类型二、Python中自编码器的面向对象实现2.1`Autoencoder`类的实现2.2`Trainer`类的实现2.3`DataLoader`类的实现三、案例分析3.1手写数字去噪自......
  • python PyPDF2 切割PDF文件
    pythonPyPDF2切割PDF文件fromPyPDF2importPdfReader,PdfWriterdefsplit_pdf(in_file,out_file,orientation="vertical",percent=0.5):""":paramin_file:待拆分的pdf文件:paramout_path:拆分成单页的pdf文件的存储路径:paramorientation......