【Python速通2】python基本数据类型(基于Java语言的对比及扩展)

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

二、Python的三种基本数据类型

系列目录导航:

章节名称重要程度
1、python语言基本元素**
2、基本数据类型***
3、程序控制结构*****
4、函数和代码的复用*****
5、组合数据类型*****
6、文件和数据格式化***
7、Python程序设计方法**
8、python计算生态***

本期重点:

• 三种数字类型及其表示、进制转换

• 数字类型的运算:运算操作符、增强赋值操作符、运算函数

• 字符串的表示、转义字符、格式控制

• 字符串的索引和切片

• 字符串的操作符、处理函数、处理方法

• 真假无值的含义,比较运算和逻辑运算

• 类型判断和类型转换函数

紧接上文,本节我们来讲解python的基本数据类型:

1、数字类型及其运算

1.1 整数类型

Python语言提供三种数据类型:整数类型、浮点数类型、复数类型整数类型

python中的整数类型一般不限制取值范围,所以整型就不会像Java那样分byte、int、short、long,这个特点也在算法比赛中便于计算;其次浮点数也是一样的道理,不分float或double

而Java中常见的字符类型和布尔类型则分别归于组合数据类型中应用,在第五节中我们将会提到)

一般认为没有取值范围限制,可用十进制、二进制、八进制、十六进制表示如果不是十进制,需要引导符号

进制引导符号
十进制
二进制0b或0B(第一个字符是数字0,下同)
八进制0o或0O(第二个字符是字母O)
十六进制0x或0X

 (这里我插一句,为什么进制前一个字符为数字是因为编译器在解析程序的时候,会通过第一个字符判断属性,用于区分变量名与数字及进制符间的区别,方便代码解析)

Python可以直接处理不同进制表示的数据,最后结果默认以十进制方式显示

bin()、oct()、hex()函数可将数转化为二进制、八进制、十六进制表示,以字符串形式返回(注意返回的类型,python中大多转换函数以字符串返回,如上文提到的input函数)

注意:科学计数法只对十进制有效,在十六进制中,科学计数法不起效,如:0x3e7

中e代表14,转为十进制时用3*16^2+14*16^1+7*16^0(16^0=1)

1.2 进制转换

(1)N进制转换为十进制

若一个数在N进制中表示为1234,则其十进制为1×N^4+2×N^2+3×N^1+4XN^0

例如:二进制数0B1010的十进制为1×2^3+0×2^2+1×2^1+0×2^0 =10

十六进制数0XAB的十进制为10 × 16^1+11×16^0= 171

注:十六进制的A~F分别表示十进制中的10~15

(2)十进制转换为N进制:除N取余倒序法

将目标数字除以N,记下余数,再将所得的商除以N,记下余数……直至商为零最后将所有余数倒着写出来即可

例如:十进制数13对应的二进制

算式

余数

13÷2

6

1

6=2

3

0

3÷2

1

1

1 ÷ 2

0

1

因此十进制数13对应的二进制是0b1101

1.3 浮点数类型

  • 一般表示:用小数形式表示,必须有小数部分,可添“.0”补位
  • 科学计数法表示:aeb或aEb表示a × 10”,其中b必须是整数,例如:1e2、3.3E-3

1.4 复数类型

a+bj表示复数,其中j为虚数单位,a和b都是浮点数注意:b为0或1时也不能省略

对于复数z,z.real和z.imag分别表示它的实部和虚部

函数complex(a, b)也可以得到复数a+bj

1.5 数字类型的运算

(1)数值运算操作符

符号

含义

+、-、*、/

加、减、乘、除

/ /

整除,不大于商的最大整数

%

模运算,取余数

**

乘方

注:除法运算的结果是浮点型

例:假设×=2,则x*=5//2+5**2的结果为____

x = x*(5//2+5**2)=x*(2+25)=2*27=52

(2)增强赋值操作符:上述运算符可与赋值符号联用,形成增强赋值操作符

例如:x+=y 等价于x=x+y,其余类似

注意:运算符与赋值符号之间不能有空格

(3)数值运算函数

函数

含义

abs (x)

x的绝对值或复数的模

divmod(x,y)

x除以y的商和余数(以二元组形式输出)

pow(x,y, [z])

x的y次方(若有z则取除以z的余数)

round (x, [d])

对x四舍五入,保留d为小数(默认保留整数)

min(x1,x2,-)

括号内变量的最小值

max(x1,x2,-)

括号內变量的最大值

2、字符串类型及其操作

2.1 字符串的表示

  • 单行字符串用单引号(')或双引号(")包围
  • 多行字符串用三单引号(''')或三双引号(""")包围

python中没有单独的字符类型,默认为字符串的一部分

2.2 转义字符

在字符串中,反斜杠(\)加一个字符可以表示新的含义

类型

转义字符

含义

与特殊符号有关

\\

反斜杠本身

\'

单引号本身

\"

双引号本身

与格式控制有关

\n

换行

\t

制表符(Tab)

2.3 索引

用于取出字符串中的某个字符,语法为

字符串[序号1]

(1)正向递增序号:序号为非负数,则最左侧为0,向右依次递增

(2)反向递减序号:若序号为负数,则最右侧为-1,向左依次递减

例如:若s="abcdefg",则s[2]='c',s[-2]='f'

2.4 切片

用于取出字符串中的一个子串

(1)字符串[N:M]( 左闭右开)

获取第N到第M个字符(不包含第M个字符)的子字符串要求N和M不能超范围,可以是正向递增序号,也可以是反向递减序号

N和M都可以省略,N省略则默认为0,M省略则默认到末尾

例如:若s=" abcdefg".

则s[2:-2]="cde"(注意不包括s[-2])

s [: -2]= "abcde"

s [2 :]="cdefg"

(2)字符串[N:M:K]

获取第N到第M个字符(不包含第M个字符)、以K为步长的子字符串例如:若s="abcdefg"

则s[2:-2:2]="ce"

s [: -2: 2]="ace"

s [2:: 2]= "ceg"

(3)反向获取

字符串[N:M:K]

K可以是负数,可以获得反向的字符串

此时N对应的字符应该在M后面,如果省略不写,N默认为末尾,M默认为起始例如:若s="abcdefg"

则s[-2:2:-2]="fd"

s [: 2: -2] ="ge"

s [-2:: -2] ="fdb"

s [:: -2] ="geca"

(4)反向应用

用s[::-1]可获得s的反向字符串

例如:若s="abcdefg"

Ns [:: -1]= "gfedcba"

2.5 格式控制

使用format()方法时,槽除了花括号{  }外,还可以包含格式控制信息,语法格式为{参数序号:格式控制标记},其中格式控制标记包括:

对显示格式的规范对数据本值的规范
填充对其宽度,.精度类型

(1)填充:用于填充的字符

(2)对齐:<左对齐、>右对齐、^居中

(3)宽度:字符串总宽度

(4),:千位分隔符

(5).精度:小数最多位数或字符串最大长度

(6)类型

整数类型: b 进制、c对应Unicode、d十进制、o八进制、 x小写十六进制、 X大写十六进制浮点浮点数类型:e/E指数形式、f浮点数形式、%百分比形式

例如:保留两位小数:{:.2f};输出十六进制:{:x};

保留字符串前5位:{:.5};居中并用减号填充,总宽度为10:{:-^10}

2.6 操作符

操作符

用法

含义

+

x+y

将x、y两个字符串连接起来

*

n*x或x*n

将字符串x重复n次

in

x in s

判断x是否是s的子串

注:如果要连接字符串和数字,不能直接用+相连,而要先把用str()函数将数字转换为字符串再相连

2.7 处理函数

函数

含义

len (x)

返回字符串x的长度

str (x)

将任意类型的x转换为字符串

chr (x)

返回Unicode 编码为x的字符

ord (x)

返回字符x对应的Unicode编码

hex (x)

以字符串形式返回整数x对应的十六进制表示

oct (x)

以字符串形式返回整数x对应的八进制表示

bin (x)

以字符串形式返回整数x对应的二进制表示

字符串的长度以Unicode字符作为计数基础,中英文字符、标点符号都算1个长度单位建议记住:'0'、'A'、'a'的Unicode编码为48、65、97

2.8 处理函数

方法

含义

str. lower ()

将str中的字母全部变为小写

str.upper ()

将str中的字母全部变为大写

str. count (s)

str中子串s出现的次数

str.split([sep])

将str用sep(默认为空格)进行分割,返回分割后列表

str.join (iter)

在iter的每个元素之间插入str,连成一个字符串

str.replace (old,new)

将str中所有old子串替换成new

str. strip ([chars])

去掉str前后的chars字符(默认为空格)

str.center(width[,fillchar])

将原字符串居中,并使用fillchar填充至长度width

以上方法只是返回变换后的字符串,str本身不被修改如果想修改str本身,需要赋值,例如:str=str.lower()等(重点记几个,不用全记)

3、逻辑与比较运算

3.1  真假无值

True表示“真”,是与1相等的值;False表示“假”,是与0相等的值在进行比较运算时,所有非0数字都认为是True

注意:True和False的大小写

None也是Python的保留字,不对应任何数值,通常用来弥补程序的逻辑完整性要求

3.2 比较运算

比较运算符有:小于<、小于等于<=、大于>、大于等于>=、等于==、不等于!=

比较运算的结果是True或False

注意:留意等于==和不等于!=的写法,与赋值符号=的区别

(1)可以用于比较数值,但比较复数时只能使用等于和不等于

(2)可以用于比较字符串,从前到后依次比较Unicode编码值的大小

注意:不同数据类型也能进行比较,但结果一般没有意义

3.3 逻辑运算

逻辑运算符有:与and、或or、非not

优先级顺序是非、与、或,但建议加括号以免混乱

4、类型的判断与转换

4.1 类型判断函数

type(x)可返回x的类型,它可以作用于任何数据类型(即所有数字类型和字符串

type (x)的返回值不是字符串,而是类似于<class 'int'>,<class 'str'>等

‹class 'float'>

例如:利用type(x)==type(y)可判断x和y的类型是否相同

例如:利用type (x)==type(123)可判断x是否为整型

4.2 类型转换

通过内置类型转换函数,可以显式地对类型进行转换

函数

功能

int(x)

将浮点型或字符串型的x转换为整数

float (x)

将整型或字符串型的x转换为浮点数

str(x)

将数值型的x 转换为字符串

注意:Java中str的表达方式为String ,且为类

12月本文持续更新......

Python3】python程序控制结构(基于Java语言对比扩展 本文适合本科计算机语言的小伙伴扩展学习,尤其是已经有Java语言基础的同学去python,本文会着重区别两门语言的特点相关之处。部分联想部分可能涉及C语言SQL语言(都是计算机底层语言的基础哇) 阅读详情

相关推荐

平台的API支持哪些开发语言工具?

(AliExpress)是阿里巴巴旗下的跨境电商平台,为卖家提供了API接口,允许开发过编程方式与其进行交互,获取商品详情等信息。

apixixi的博客 2261

Python1】python语言基本元素(基于Java语言对比扩展

本文适合同时会两门计算机语言的小伙伴扩展学习,尤其是已经有Java语言基础的同学去python,本文会着重区别两门语言的特点相关之处。部分联想部分可能涉及C语言SQL语言(都是计算机底层语言的基础哇)

2301_81856296的博客 938

开放平台接口实战:跨境电商商品检索与详情解析全方案

本文介绍了开放平台核心接口的技术实现方案,重点解决跨境电商系统开发中的语言处理、跨境参数解析汇率转换等关键问题。内容包括:1.接口基础信息与认证机制,详细说明HMAC-SHA1签名生成流程;2.商品搜索、详情获取、运费计算等核心接口的参数解析与响应处理;3.多语言支持、汇率转换、国际物流等跨境电商特有功能的实现方案;4.完整的Python客户端工具类,包含QPS控制、数据缓存等工程实践。该方案可直接应用于跨境电商选品、价格监控、商品同步等业务场景。

2503_90284255的博客 906

Python5】python组合数据类型(基于Java语言对比扩展

Python语言中的集合类型与数学概念基本一致,是元素的无序组合,元素不可重复,只能是不可变数据类型注:数值int float、字符串str、元组truple、布尔类型属于不可变数据类型,集合set、列表[]、字典dict/{}属于可变数据类型,所以组合数据类型不能作为集合的元素(python中根据其是否可以被原地修改分为可变类型不可变类)可变类型其本质是变量对应的值可以修改,但是内存地址不会发生改变。

2301_81856296的博客 1055

C/C++、Java、Go、Python总结对比2-基本数据类型对比

既然要写代码,肯定少不了数据的操作,所以先来总结对比下不同语言基本数据类型。 c/c++、java、go、python基本类型都有所差别,不过大部分常用的数据类型都是相同的,下面先讲常用的且相同的基本数据类型基本类型 |------数值型 |-----整形(int) |-----双精度型(double) |-----字符型(char) |-----布尔型(boolean) 需要注意的...

aeoob的博客 823

Python6】python文件处理(基于Java语言对比扩展

关于python中文本文件二进制文件 文件打开关闭的方法 文件读写的方法

2301_81856296的博客 2677

Python9】python面向对象编程(基于Java语言对比扩展

类的对象,方法,属性,静态方法,类的继承,方法的重写,对象的复制:深复制浅复制

2301_81856296的博客 894

python语言

这里介绍了python的基础语法,适合零基础有其他语言基础的快查阅,由此更快地看懂python模型开发

2301_79808660的博客 640

商品链接获取商品详情数据(用 Python实现商品信息抓取)

在网页抓取方面,可以使用 PythonJava 等编程语言编写程序,过模拟 HTTP 请求,获取网站上的商品页面。值得注意的是,网站的页面结构会不断更新,因此需要定期更新程序,以保证数据的准确性。根据需要,调用相应的商品接口,如批量查询商品详情、批量查询商品分类等。在调用接口时,需要将访问令牌其他相关参数传入接口请求中。平台上的商品信息会不断更新,因此需要定期更新程序,以保证数据的准确性。解析接口返回的数据:接口返回的数据常为JSON格式,需要对其进行解析并提取所需字段。

weixin_19970108018的博客 676

javapython(一、基础篇)

1,python是解释型语言python是解释型语言python写的代码,需要python解释器,来解释执行(比较慢)。 C是编译型语言,C程序是运行前直接编译成CPU能执行的机器码,所以非常快.。 java既是编译型,又是解释型语言java需要先编译成.class文件,然后用JVM来解释执行。 (其实python的解释器也内置了JIT及时编译。) (解释器的安装,网上很多,这里...

tanjun592的博客 969

python double 比较_【语言对比基本数据类型对比

最近开始学习Python,都说最好的学习方式就是比较。从今天开始,用博客来记录Python之前学习的C++、Java语言的区别,看看这是否是一个学习新语言的好途径。C++的支持的基本数据类型:bool、char、wchar_t、short、int、long、long long、float、double、long double;其中 char、wchar_t、short、int、long、long...

weixin_39683163的博客 577

【总结】Python与C语言Java语言基本语法的不同点

【总结】Python与C语言Java语言基本语法的不同点 本篇文章主要介绍Python与其他语言(如C语言Java等)的主要区别,能够让读者快了解、掌握Python基本语法,能够快从其他语言学习中过度到Python中来。 1、语句结构 Python中一句程序结束不用分号结束“;”,相比较其他大多数语言简洁了许多 2、程序输出 Python中提供专门输出的函数print(),该函数声明...

菜鸟的后花园 6923

c、 c++ 、pythonjava基本数据类型

无符号unsigned int有符号signed int(默认):(特殊数据类型:高精度计算BigDecimalBigInteger、日期时间相关的数据类型---

dailittledragon的博客 662

PythonJava语言对比

现在一直习惯于用SSH做WEB开发,但是最近愈来愈感觉对于小的项目工程,Java的SSH框架过于沉重,所以经过调研发现Python语言比较方便,所以最近把python语法看了一遍,故把PythonJava中异同做下对比。 1. 缩进 python需要用缩进来识别语句之前的逻辑块,需要在行尾加上‘:’表示接下来缩进格式相同的语句是一个语句块【python语句末尾可以不加’;’,但是必须采用缩进】 J

张书洲的专栏 6350

C 、C++ 、JavaPythonJavaScript数据类型对比介绍

C 、C++ 、JavaPythonJavaScript数据类型对比介绍

cnds123的专栏 1655

Go语言Javapython等其他语言对比分析

一、Go语言设计初衷 1、设计Go语言是为了解决当时Google开发遇到的问题: 大量的C++代码,同时又引入了JavaPython 成千上万的工程师 数以万计行的代码 分布式的编译系统 数百万的服务器 2、Google开发中的痛点: 编译慢 失控的依赖 每个工程师只是用了一个语言里面的一部分 程序难以维护(可读性差、文档不清晰等) 更新的花费越来越长 交叉编译困难 3、如何解决当前的问...

qfliweimin的博客 4万+

Java,PythonGo语言特性及语法差异对比

Java语言Python语言与Go语言语法特性对比表格归总

小蜜蜂1010的博客 2965

基本数据类型与变量——Javapython对比

Javapython难很多确实不是说说而已的QAQ,从数据类型的数目就可以看出来,Java有八种,而python只有3种呜呜 Java基本数据类型也称做简单数据类型,包括以下八种 1、整型 byte 、short 、int 、long 2、浮点型 float 、 double 3、字符型 char 4、布尔型 boolean python中的基本数据类型有:整数型,浮点数型,字符串。确实比Java友好很多啊啊啊啊啊。 所以Java叫做强类型语言吧hhhhhh,

m0_49560338的博客 1196

10分钟!python基础语法

变量是保存表示数据的值 的一种语法元素在python中的一个后缀名为.py的python文件就是一个模块模块中可以定义函数,类等模块也可以避免函数、类、变量等名称相互冲突的问题模块不仅提高了代码的可维护性,同时还提高了代码的可重用性在给模块命名的时候要求全部使用小写字母,多个单词之间使用下划线进行分隔如果自定义模块名称与系统内置模块名称相同,那么在导入的时候会优先的导入自定义的模块大家交流一些python的知识点,希望对大家有帮助!!

2501_91133380的博客 1174
上一篇: 【Python速通1】python语言基本元素(基于Java语言的对比及扩展)
下一篇: 【Python速通3】python程序控制结构(基于Java语言的对比及扩展)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值