Python--基本数据类型

本文深入解析Python的基础语法,涵盖表达式、语句、程序、函数等核心概念,详解数字类型、字符串类型的操作与格式化,以及类型判断和转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python组成的基本几个概念:
1.1表达式

表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
表达式就是一个类似于数学公式的组成

1.2语句

一个语句上自成体系的单位,它由一个词或句法上有关连的一组词构成

1.3程序

程序就是由一条一条的语句和一条一条的表达式是构成的

1.4函数

函数就是一个语句专门用来完成特定的功能
函数的分类有:自定义函数  内置函数

Python标识符
1.Python语言由什么组成的?
1.关键字 2.标识符 3.注释 4.变量和数值 5.运算符 6.语句 7.函数 8.序列
2.1Python保留字
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
2.2标识符
给变量或其他程序元素关联名称或标识符的过程称为命名。
Python采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,但名字的字符不能是数字,标识符中间不能出现空格,长度没有限制。合法命名标识符:Python_is_good 、_is_it_question、人生苦短
注意:标识符对大小写敏感,python和Python是两个不同的名字。
2.2.1Python中不能使用关键字和保留字作为标识符
2.2.2命名方式
驼峰命名法
小驼峰 myName aDog 第一个单词以小写字母开始,第二个单词首字母大写
大驼峰 FirstName LastName 每一个单词的首字母都采用大写
下划线命名法 用下划线来链接两个有含义的单词
2.3基本数据类型
2.3.1数据类型概述
Python语言支持多种数据类型,最简单的包括数字类型、字符串类型、略微复杂的包括元组类型、集合类型、列表类型、字典类型等。
2.3.2数字类型
表示数字或数值的数据类型称为数字类型,Python提供3种数字类型:整数、浮点数和复数,分别对应数字、实数和复数。
十进制:1010
十六进制:0x3F2
八进制:0o1762
二进制:0b001111110010

>>>1010==0x3F2
True
>>>0o1762+0b001111110010 == 0x3F2 * 2
True

浮点数类型与数学中的小数相一致,基本没有取值范围,可正可负。一个浮点数可以表示为带有小数点的一般形式,也可以采用科学计数法表示。浮点数只有十进制形式。浮点数只有十进制形式。例如:浮点数123.456.两种表示方式如下:

一般形式:123.456
科学计数法1.23456e2
复数类型与数学中的复数相一致。采用a+bj的形式表示,存在实部和虚部。

2.3…字符串类型
计算机程序经常用于处理文本信息,文本信息在程序中使用字符串类型来表示。字符串是字符的序列,在Python语言中采用一对双引号" "或者一对单引号’ '括起来的一个或多个字符来表示。其中双引号和单引号作用相同。
作为字符序列,字符串可以对其中单个字符或字符片段进行索引。字符串包括两种序号体系:正向递增序号和反向递减序号
如果字符串长度为L,正向递增需要以最左侧字符串为0,向右依次递增,最右侧字符序号为L-1;反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L。
在这里插入图片描述
可以采用[N:M]格式获取字符串的子串,这个操作被形象地称为切片。[N:M]获取字符串中从N到M(但不包括M)间连续的子字符串,其中,N和M为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。
在这里插入图片描述
可以通过Python默认提供的len()函数获取字符串的长度,一个中文字符和一个西文字符的长度都记为1。

>>>len('对酒当歌,人生几何?')
10
>>>len('Hello World')
11

2.4程序的语句元素
2.4.1表达式
产生或计算新数据值的代码片段称为表达式。表达式类似数学中的计算机公式,以表达单一功能为目的,运算后产生运算结果,运算结果的类型由操作符或运算符决定。

>>>1024*32
32765


>>>'对酒当歌,人生几何?''+‘问君能有几多愁’
 ‘对酒当歌,人生几何?问君能有几多愁’

表达式一般由数据和操作符等构成,是构成Python语句的重要部分。
2.4.2赋值语句
对变量进行赋值的一行代码被称为赋值语句。在Python语言中,‘=’表示‘赋值’,在即将等号右侧的表达式计算后的结果值赋给左侧变量。<变量>=<表达式>

>>>a=1024 * 32 #这行是赋值语句
>>>print(a)
32765

在Python程序中,赋值语句使用等号(=)表达,而值相等的判断使用双等号(==)表达。双等号判断后的结果是True(真)或False(假),分别对应值相等或值不相等。
还有一种同步赋值语句,同时给多个变量赋值,基本格式如下:
同步赋值会同时运算等号右侧的所有表达式,并一次性且同时将右侧表达式结果分别赋值给左侧的对应bian’l。同步赋值的一个应用是同时多个变量赋值

 >>> n = 3的
>>> X,Y = N + 1,N + 2 
>>> X 
4 
>>>ÿ 
5 ```

同步赋值的另一个应用是互换变量的值。例如:互换两个变量x和y的值,代码如下。

的x,y = Y,X `

2.5基本输入输出函数
Python程序设计中有3个重要的基本输入、输出函数、用于输入、转换和输出,分别是input()、eval()、和print()。

input()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。input()函数可以包括一些提示性文字
eval(s)函数将去掉字符串s最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容,使用方式如下:
<变量>=eval(<字符串>)
print()函数用于输出运算结果

**

3.1数字类型

**
3.1.1整数类型

进制种类引导符号与描述
十进制无,默认情况,例:1010,-1010
二进制0b或0B,由字符0和1组成,例:0b2020,0B1010
八进制0o或0O,由字符0到7组成,例:0o1010,0O1010
十六制0x或0X,由字符0到9、a到f或A到F组成,例:0x1010,0X1010
 >>>(0x3F2 + 1010)/ 0o1762 
2.0 
>>> 0b1010 + 0x1010 + 0o1010 + 1010 
5652 
>>> 0x1010 + 0o1010 
>>> 0x1010 == 4112 

3.1.2浮点数类型
浮点数类型与数学中实数的概念一致,表示带有小数的数值。
Python语言中的浮点数类型必须带有小数部分,小数部分可以是0.例如:1010是整数,1010.0是浮点数。
浮点数有2种表示方法:十进制形式的一般表示和科学计数法表示。除十进制外,浮点数没有其他进制表示形式。下面是浮点数类型的例子:1010.0,-1010.0,1.01e3,-1.01E-3
>>>0.1+0.2 0.3000000000000004
#Python语言的浮点数运算存在一个’不确定尾数’问题,即两个浮点数运算,有一定概率在运算结果后增加一些’不确定的’尾数。不确定尾数问题将会对浮点数运算结果的判断造成一定的困扰,例如:
3.1.3复数类型
复数类型表示数学中的复数。复数有一个基本单位元素j,它被定义为j=-1的开平方,叫作’虚数单位’。含有虚数单位的数被称为复数。例如:
11.3+4j -5.6+7j 1.23e 1.23e-4+5.67e+89j
Python语言中,复数可以看作是二元有序实数对(a,b),表示a+bj,其中,a是实数部分、简称实部,b是虚数部分,简称虚部。虚数部分通过后缀’J‘或者’j‘来表示。需要注意,当b为1时,1不能省略,即1j表示复数,而j则表示Python程序中的一个变量。
复数类型中实部和虚部都是浮点数类型,对于复数z,可以用z.real和z.imag分别获得它的实数部分和虚数部分。

 >>>(1.23e4+5.67e4j).real
 12300.0
 >>>(1.23e4+5.67e4j).imag
 56700.0
 >>>1.23e4+5.67e4j.imag #先获得5.67e4j的虚部,再与1.23e4进行求和计算
 69000.0

3.2数字类型的运算
3.2.1数值运算操作符

操作符及运算描述
x+yx与y之和
x-yx与y之差
x * yx与y之积
x / yx与y之商,产生的结果为浮点数
x // yx与y之整数商,即:不大于x与y之商的最大整数
x % yx与y之商的余数,也称为模运算
-xx的负值
+xx的本身
x **yx的y次幂
>>>1.23e4 + 5.67e4
69000.0
>>>1.23e4 - 5.67e4
-44400.0
>>>1.23e4 * 5.67e4
0.21693221693121692
>>>1010/3
336.666666667 
>>>1010//3
336
>>>1010 % 3
2
>>>+1010
1010
>>>-1010
-1010
>>>1010 ** 3
1030301000

数值运算和浮点数混合运算,输出结果是浮点数;
整数之间运算,产生的结果类型与操作符相关,除法运算(/)的结果是浮点数;
整数或浮点数与复数的运算,输出结果是复数;

>>>1010/10 #/运算的结果是浮点数
101.0
>>>1010.0 // 3 #浮点数与整数运算。产生结果是浮点数
336.0
>>>1010.0 % 3 #浮点数与整数运算,产生结果是浮点数
2.0
>>>10-(1+1j) #等价与(10-1)-1j
(9-1j)

所有二元运算操作符(+、-、、/、//、%、**)都可以与赋值符号(=)相连,形成增强赋值操作符(+=、-=、=、/=、//=、%=、**=)。用op表示这些二元运算符操作符,增强赋值操作符的用法如下:
x op = y 等价于 x = x op y
增强赋值操作符能够简化对同一变量赋值语句的表达。
提示:增强赋值操作符中 op 和 = 之间不能增加空格。

>>>x = 99
>>>x **=3  #与x= x**3等价
>>>print(x)
970299
>>>x +=1 #与x = =+1等价
>>>print(x)
970300
>>>x %= 88 #与 x = x %88 等价
>>>print(x)
12

3.2.2数值运算函数

函数描述
abs(x)x的绝对值
divmod(x,y)(x//y,x%y),输出为二元组的形式(也称为元组类型)
pow(x,y)或 pow(x,y,z)x ** y 或(x**y)%z,幂运算
round(x)或round(x,d)对x的四舍五入,保留d位小数,无参数d则返回四舍五入的整数值
max(x)比较(x)当中数组中最大的值,数的个数没有限制,可以任意数量
min(x)比较(x)当中数组中最小的值,数的个数没有限制,可以任意数量

divmod(x,y)函数用来计算x和y的除余结果,返回两个值,分别是:x与y的整数除,即x//y,以及x与y的余数,即x%y。返回的两个值组成一个元组类型,即小括号包含两个元素。可以通过赋值方式将结果同时反馈给两个变量

>>>divmod(100,9)
(11,1)
>>>a,b = divmod(100,9)
>>>a
11
>>>b
1

pow(x,y)函数用来计算x的y次幂,与 x ** y相同。

>>>pow(10,2)
100
>>>pow(0x1010,0b1010)
1382073245479425468920150911010996224

round(x)对整数或浮点数x进行四舍五入运算。round(x,d)对浮点数x进行带有d位小数的四舍五入运算。需要注意,"四舍五入"只是一个约定说法,并非所有的5都会被进位。对与x.5,当x为偶数时,x.5并不进位,如round(0.5)值为0,当x为奇数时,x.5进位,如round(1.5)值为2。这是由于x.5严格处于两个整数之间,从“平等价值”角度考虑,所有x.5情况分为两类,采用“奇进偶数不进”的方式运算。但对于x.5001这种非对称情况,则按照进位法则处理

>>>round(1.4)
1
>>>round(0.5)
0
>>>round(1.5)
2
>>>round(0.50001)
1
>>>round(3.1415926,3)
3.142

min()和max()可以对任意多个数字进行最小值或最大值比较,并输出结果。实例如下

>>>min(1,2,3,4,6,5,0.1)
0.1
>>>max(1,2,3,4,5,6,0.1)
6

3.3字符串类型及格式化
字符串是字符的序列表示,根据字符串的内容多少分为单行字符串和多行字符串。
单行字符串可以由一对单引号(’)或双引号(’’)作为边界来表示,单引号和双引号作用相同。当使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分。
多行字符串可以由一对三单引号(’ ’ ')或三双引号(" " ")作为边界来表示,两者作用相同。
在这里插入图片描述
反斜杆字符(\)是一个特殊字符,在Python字符串中表示”转义“,即该字符与后面相邻的一个字符共同组成了新的含义。例如:\n表示换行、\表示反斜杠、‘表示单引号、’'表示双引号、\t表示制表符(Tab)等
如果在字符串中即需要出现单引号又需要出现双引号,则需要使用转义符。


>>>print("这里\n有一个换行")
这里
有一个换行
>>>print("这是\\有一个反斜杠")
这里\有一个反斜杠
>>>print("即需要'单引号'又需要\"双引号"")
即需要'单引号'又需要"双引号"
>>>print("这里\t有一个制表符")
>这里有一个制表符

3.3.3 format()方法的基本使用
在字符串中整合变量时需要使用字符串的格式化方法。字符串格式化用于解决字符串和变量同时输出时的格式安排问题。
Python语言推荐使用.format()格式化方法,其使用方式如下:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。槽用大括号({ })表示,对应fornat()方法中逗号分隔的参数。例如:
在这里插入图片描述
如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。例如:在这里插入图片描述

可以通过format()参数的序号在模板规定出现先后顺序来采取默认值,参数从0开始编号,例如在这里插入图片描述

如果字符串中出现槽的数量和.format()方法中出现的变量数量不一致,即程序不能够通过简单的顺序对应确定变量使用,则必须在槽中使用序号指定参数使用,否则会产生IndexError的错误,例如:
在这里插入图片描述
如果希望在模板字符串中直接输出大括号,使用{}
表示{,}}表示}。实例如下:
在这里插入图片描述
3.3.4 format()方法的格式控制
format()方法的槽除了包括参数序号,还可以包括格式控制信息,表格如下:

函数描述
引号符号
<填充>用于填充的单个字符
<对齐><左对齐 >右对齐 ^居中对齐
<宽度>槽的设定输出宽度
< , >数字的千位分隔符,适用于整数和浮点数
< .精度 >浮点数小数部分的精度或字符串的最大输出长度
<类型>整数类型b,c,d,o,x,X浮点数类型e,E,f,%

格式控制标记可以用变量来表示,即用槽来指定所对应的控制标记及数量,示例如下:在这里插入图片描述
第二组是<,><.精度>和<类型>,主要用于对数值本身的规范。其中,逗号(,)用于显示数字类型的千位分隔符。示例如下:
在这里插入图片描述
<.精度>由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。此时,小数点可以理解为对数值的有效截断;如果小数点保留长度超过应输出长度,以对应输出长度为准。示例如下:在这里插入图片描述
<类型>表示输出整数和浮点数类型的格式规则。
对于整数类型,输出格式包括如下6种:
b:输出整数的二进制方式;
c:输出整数对应的Unicode字符;
d:输出整数的十进制方式;
o:输出整数的八进制方式;
x:输出整数的小写十六进制方式;
X:输出整数的大写十六进制方式;
示例如下:在这里插入图片描述
**

3.4字符串类型的操作

**
3.4.1字符串操作符

操作符描述
x+y连接两个字符串x+y
x * n 或n * x复制n次字符串
x in s如果x是s的子串,返回True,否则返回False

示例如下:

>>>‘Python语言’+‘程序设计’
'Python语言程序设计'
>>>name = "Python语言"+”程序设计“
>>>name
'Python语言程序设计'
>>>"等级考试!" * 3
‘考试等级! 考试等级! 考试等级!’
>>>"Python" in name
True
>>>'语言' in name
True
>>>'Y' in name
False

3.4.2字符串处理函数

函数描述
len(x)返回字符串x的长度,也可返回其他组合数据类型的元素个数
str(x)返回任意类型x所对应的字符串形式
chr(x)返回Unicode编码x对应的单字符
ord(x)返回单字符x表示的Unicode编码
hex(x)返回整数x对应十六进制的小写形式字符串
oct(x)返回整数x对应八进制的小写形式字符串

len(x)返回字符串x的长度,以Unicode字符为计数基础,因此,中英文字符及标点字符等都是1个长度单位

>>>len("全国计算机等级考试Python语言科目")
19

str(x)返回x的字符串形式,其中,x是数字类型或其他类型。

>>>str(1010)
'1010'
>>>str(0x3F)
'63'
>>>str(3.1415926)
'3.1415926'

chr(x)和ord(x)函数用于在单字符和Unicode编码值之间进行转换。chr(x)函数返回Unicod编码对应的字符,ord(x)函数返回单字符x对应的Unicode编码。

hex(x)和oct(x)函数分别返回整数x对应十六进制和八进制值的字符串形式,字符串以小写形式表示
在这里插入图片描述
3.4.3字符串处理方法

方法描述
str.lower()返回字符串str的副本,全部字符小写
str.upper()返回字符串str的副本,全部字符大写
str.capitalize()返回字符串str的副本,首字母大写
str.split(sep=None)返回一个列表,由str根据sep被分隔的部分构成,省略sep默认以空格分隔
str.count(sub)返回sub子串出现的次数
str.replace(ord,new)返回字符串str的副本,所有ord子串被替换为new
str.center(width,fillchar)字符串居中函数,fillchar参数可选
str.srip(chars)从字符串str中去掉在其左侧和右侧chars中列出的字符
str,join(iter)将iter变量的每一个元素后增加一个str字符串

str.lower()和str.upper()是一对方法,能够将字符串的英文字符变成小写或大写。

>>>"Python".lower()
'python'
>>>"Python".upper()
'PYTHON'

str.split(sep)是一个十分常用的字符串处理方法,它能够根据sep分隔字符串str.sep不是必须的,默认采用空格分隔,sep可以是单个字符,也可以是一个字符串。分割后的内容以列表类型返回在这里插入图片描述
str.count(sub)方法返回字符串str中出现sub次数,sub是一个字符串。
在这里插入图片描述
str.replace(ord,new)方法将字符串str中出现的ord字符串替换为new字符串,ord和new的长度可以不同在这里插入图片描述
可以使用replace()方法去掉字符串中的特定字符串或字符在这里插入图片描述
str.center(width,fillchar)方法返回长度为width的字符串。其中,str处于新字符串中心位置,两侧新增字符采用finchar填充,当width小于字符串长度时,返回str;fillchar是单个字符在这里插入图片描述
str.strip(chars)从字符串str中去掉在其左侧和右侧chars中列出的字符。chars是一个字符串,其中出现的每个字符都会被去掉。
在这里插入图片描述
str.join(iter)中iter是一个具备迭代性质的变量,该方法将str字符串插入iter变量的元素之间,形成新的字符串。简单地说,.join()方法能够在一组数据中增加分隔字符。
在这里插入图片描述
3.5类型判断和类型间转换
Python语言提供type(x)函数对变量x进行判断,适用于任何数据类型

>>>type(10.10)
<class 'float'>
>>>type(1010)
<class 'class'>
>>>type('1010')
<class 'str'>
>>>type([1,0,1,0])
<class 'list'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值