Python---变量与核心数据类型

本文详细介绍了Python的基础知识,包括变量与对象的概念,动态数据类型特性,数字(整数、浮点数、复数)和字符串的使用,以及字符串操作函数。强调了Python中的变量绑定和类型转换,并展示了错误示例和运算规则。此外,还探讨了Python字符串的转义和多行表示,以及如何通过索引和切片操作访问字符串内容。
摘要由CSDN通过智能技术生成

Python知识结构

在接触代码之前我们先来简单地了解一下python全貌,从更具体的视角来看,python程序可以分解成模块、语句、表达式以及对象;

  1. 程序由模块构成
  2. 模块包含语句
  3. 语句包含表达式
  4. 表达式创建并处理对象

如果你使用过C++或者JAVA,在使用前都需要声明一个对象(或者叫做数据结构),你需要去部署内存结构,管理内存分配。
例如创建变量,需要声明,给定变量类型等。这称之为静态类型,是因为编译器会在编译的时候知道每个变量的类型;而python各变量没有严格的类型限制,而且不需要声明。

python内置对象

对象类型构造示例
数字1234,3.1415,-5,3+4j,Ob0111
字符串‘Bob’,‘1234’, ‘1.234’,‘Bob’s’
列表[1,1.2,‘a’,‘b’],list(range(10))
字典{‘A’:10,‘B’:12.1},dict(hours=10)
元组(‘Bob’,‘1234’),(1,2), tuple(‘spam’)
文件open(‘test.txt’),open(r’C:\user\desktop\text.txt)
集合{A,B,C},set(‘abc’)
其他核心类型类型,None,布尔型
程序单元类型函数,模块,类
python实现相关类型已编译代码、调用栈跟踪

变量与对象

在编辑器中,我们可以直接使用赋值运算符 ‘=’ 来创建变量;

x = 71
y = 'love'

第一行我们创建了一个int型对象,该对象名称是x;
第二行我们创建了一个str型对象名称是y;

x = 71
y = 'love'
print(id(x))
print(id(y))

程序运行结果:

4302866944
140629309137616
程序运行结束

python变量命名规则:

  1. 变量名称由ASCII字符、数字和下划线(_)组成;
  2. 变量的名称必须以字符开头,且区分大小写,比如(rowan、Rowan、roWan就是三个不同的变量);
  3. python变量名不可与python任何关键字名称相同,也不可与python任何内置常量(None、True、False)相同。

python关键字:
在这里插入图片描述

python使用动态数据类型:

1. 可以把任何对象赋值给任何变量;

x = 71
x = 'love'

给变量赋值称为绑定,实际上是把名称绑到对象上。如果给一个已经存在的对象赋一个新对象,则称为对该名称进行重新绑定。
在这里插入图片描述
对象一旦没有具体的名称绑定,对象所占用的空间就会由计算机垃圾收集程序予以处理,将其从内存中删除,释放内存空间。

当然,python也可以同时给多个变量赋值;

x, y, z = 1, 2, 3
str_1, str_2, str_3 = "A", "B", "C"

2. python动态类型是强类型的:python不允许在不兼容的类型之间进行运算

a = 71
b = 'love'
print(a+b)

运行结果:

TypeError: unsupported operand type(s) for +: 'int' and 'str'
a = 71
b = 8.5
print(a+b)
运行结果:79.5

这是由于python提供了其他语言也会用到的自动类型转换技术,将a转换成浮点数float。

数字和字符串

python提供了数个数字类型和两种字符串类型。所有的这些类型的共同点在于,它们都是不可变的。

1.数字

数字有4种类型:int(整数)、布尔型(bool)、float(浮点数)、complex(复数)。我们可以使用内置的type函数来查看变量所指的对象类型。

①整数、布尔型

python提供了三种整数类型:整数、布尔型。布尔型只有两个值,即True和False,在用作数字时,亦可以看做 1 和 0。

#定义整型变量
x, y, z = 1, 2, 3

python支持常见的数字运算符,包括 +、 -、 、 /、 %以及增量运算符 +=、-=、= 和%=,同时还有 ** 运算符,表示数字的平方,//运算符表示整除。

print(2 + 2) # 加法
print(3 - 2) # 减法
print(2 * 3) # 乘法
print(3 / 2) # 除法, 得到一个浮点数
print(2 // 4) # 除法, 得到一个整数
print(3 % 2) # 取余
print(3 ** 2) # 乘方

布尔值运算:

True and False # False
True and True # True
False and True # False
False or True # True
False and False # False
True ^ False # True
True ^ True # False

②浮点数(小数)、复数

任何带有小数点的数字都是浮点数,当我们把浮点数和整数混合的时候,我们会得到一个浮点数。

num = 3.1415926

复数(complex)是由实数部分和虚数部分构成的,可以用a + bj或者complex(a, b)表示,复数的实部a和虚部b都是浮点数。

c = 5.4 + 0.8j

我们可以使用内置的type函数来查看变量所指的对象类型:

num = 3.1415926
c = 5.4 + 0.8j
print(type(num))
print(type(c))
程序运行结果
<class 'float'>
<class 'complex'>

2.字符串

字符串是由一系列的字符组成的,是由单引号 ‘ 或双引号 ” 括起来的,同时使用反斜杠 \ 转义特殊字符。
双引号和单引号的自由转换,可以让你在引号中套用引号更方便。

str_1 = 'a'
str_2 = '1'
str_3 = "This is a string."

如果需要再字符串中包含特殊字符,可以使用反斜杠“ \ ”进行转义。

"He said \"No you don't! \" again."
'What \'s up with him?'

由于双引号的界限,无需对字符串中的单引号进行转义,同时也不必对由单引号界定的字符串中的双引号进行转义。
在这里插入图片描述
对于多行字符串,我们可以使用三引号来进行表示。

'''
This is a string.
He said \"No you don't! \" again.
What \'s up with him?
'''

"""
This is a string.
He said \"No you don't! \" again.
What \'s up with him?
"""

python字符串是字符的有序集合,可以通过位置索引方位字符串中的单个字符,其中,第一个字符的索引值为0。同样,也可以从字符串的末尾访问每个字符,最后一个字符的索引值是-1。

phrase = "The red balloon"
print(phrase[0],phrase[5],phrase[-1])
运行结果
T e n

python的序列是支持切片的,这意味着我们可以从一个序列中复制出多个子序列。一个切片由一个、两个或者三个相对独立的部分。开始(默认从零开始)、结束(默认以序列长度为结束)和间隔数。切片会从索引值开始并包含开始字符,但是不包含结束索引值处的字符。

phrase = "The red balloon"
print(phrase[0:3])
print(phrase[-3:])
print(phrase[4:7])
运行结果
The
oon
red

3.字符串操作函数

除了可以通过索引获取字符,我们也可以通过函数来获得索引;例如find()函数。

phrase = "The red balloon"
print(len(phrase))
print(phrase.find('r'))
print(phrase.index('e'))
输出结果:
15
4
2

字符串操作方法和函数:
在这里插入图片描述在这里插入图片描述
为了获得格式化操作,可以使用二员运算符 “ % ” 。

phrase = "The are %i balloons" %5 
print(phrase)
输出:
The are 5 balloons

字符串中的 %i 被替换为数字5。格式化字符串中 % 后面的字母表示对象的类型,用 %i 表示这是一个整数。

phrase = "The %i %s cost %f dollars" %(3,"fish",17.5)
print(phrase)
输出:
The 3 fish cost 17.500000 dollars

字符串格式化符号:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

他是只猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值