栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
  • Python知识结构
  • 变量与对象
  • 数字和字符串
    • 1.数字
      • ①整数、布尔型
      • ②浮点数(小数)、复数
    • 2.字符串
    • 3.字符串操作函数

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:userdesktoptext.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))
程序运行结果


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

字符串格式化符号:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/460990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号