欢迎来CILMY23的博客
本篇主题为 探索 Python 编程世界:常量、变量及数据类型解析
个人主页:CILMY23-CSDN博客
Python系列专栏:http://t.csdnimg.cn/HqYo8
上一篇博客: http://t.csdnimg.cn/SEdbp
C语言专栏: http://t.csdnimg.cn/hQ5a9
感谢观看,支持的可以给个一键三连,点赞关注+收藏。
文章目录
本文前言
在上期我们讲解完一些python中的剩下语法后,本篇将开始python中的基础,常量和变量以及各种数据类型的详解
一、常量
在过去我写C语言的时候是这么介绍常量的
在python中有点类似又有点差别, 常量一般指不需要改变也不能改变的常数或常量,如一个数字3、一个字符串"火星"、等等
在 Python 中,虽然没有严格意义上的常量,但可以通过约定来表示常量,通常使用全大写字母命名的变量来表示常量,并在程序中不修改它们的值。这样的约定可以让其他开发者或者自己更容易理解和识别代码中的常量。但是其本质还是个变量。
例如:
PI = 3.1415926
r = float(input("请输入圆的半径:"))
area = PI * r * r
print("area = ", area)
当然对这段代码我们也可以用python中自带的库来解决pi的赋值
import math
PI = math.pi
r = float(input("请输入圆的半径:"))
area = PI * r * r
print("area = ", area)
结果如下:
二、变量
在过去我们讲解C语言的变量的时候,我们说变量需要先定义后使用的
而在python中,我们并不需要声明,也不需要数据类型,python中的变量会自动识别数据类型。
2.1 变量概述
变量是程序中用于存储数据的一种容器,它可以用来表示各种不同类型的值,如数字、字符串、列表等。Python是一种强制类型语言,也是一种动态类型的语言,Python解释器会根据赋值或运算来推断变量类型,变量的类型是随着其值随时变化的。这意味着我们可以在程序运行过程中为变量赋予不同类型的值。
2.2 变量的命名
python中变量的命名遵循标识符的命名,经常用的还是驼峰命名法,有需要回顾的可以看编程初探1 http://t.csdnimg.cn/Fm69q
2.3 变量的使用
在使用变量的时候,我们并不需要像C语言那样先定义后使用,只需要给这个变量赋值即可。
x = 5
name = "John"
print(x)
print(name)
结果如下:
2.4 多变量的使用
在过去我们使用c语言给多变量赋值的形式通常是这样的
int a, b, c;
a = 1;
b = 2;
c = 3;
或者这样
int a, b, c;
a = 1, b = 2, c = 3;
现在我们可以逐个进行赋值:
a = 1
b = 2
c = 3
也可以在同一行赋值
a, b, c = 1, 2, 3
2.5 理解python是动态类型语言
在Python中,变量的类型是在运行时动态确定的,而不是在编译时静态确定的。我们将其理解为动态类型
x = 5
name = "John"
print(type(x))
print(type(name))
结果如下所示
动态类型检查: 在Python中,变量的类型是动态检查的,这意味着变量的类型会在运行时进行检查。如果尝试对变量进行不兼容的操作,Python会在运行时引发类型错误。
例如:
x = 5
print(x + "hello")
这段代码会引发类型错误(TypeError),因为在Python中,不能对整数和字符串进行直接的加法操作。
动态分配内存: Python会根据变量的值动态分配内存空间,而不需要在编写代码时提前指定内存大小或类型。这使得Python在处理变量时更加灵活和简便。
三、python中的数据类型
Python中的基本数据类型可以分为两类:数字和组合数据,数字包括整型,浮点数,布尔值和复数,组合数据包括字符串,列表,元组,字典,集合。接下来我们将具体讲解各个类型
3.1 数字类型
3.1.1 整型
整型(Int)又称为整数。整型可以用来存储任意大小的整数值,包括负整数、零和正整数。整型对象是不可变的,这意味着一旦创建了整型对象,就无法修改其值。整型不限制大小,在python 3.12版本中没有像C语言当中这些长整型,短整型这些数据类型。
x = 123 # 正整数
y = -456 # 负整数
z = 0 # 零
整型可以用其他进制的数来表示
B = 0b1010 # 二进制表示法,等于十进制的10
O = 0o777 # 八进制表示法,等于十进制的511
H = 0xFF # 十六进制表示法,等于十进制的255
Python提供了几个内置函数来进行不同进制之间的相互转换,其中包括bin(),int(),oct()
和hex()函数。
- bin(): 将其他进制数转换成二进制数。
- oct(): 将其他进制数转换成八进制数。
- hex(): 将其他进制数转换成十六进制数。
- int(): 将其他进制数转换成十进制数。
在这里就不详细举例子了,感兴趣的可以自己探索
3.1.2 浮点型
在实际应用中,仅仅使用整数来描述数字信息是远远不够的,还需要引入浮点数进入补充,浮点型(Float),用于表示带有小数点的数值。浮点型数据可以用来存储任意大小的浮点数,包括正数、负数和零。
浮点数采用双精度浮点数格式表示,通常占据64位(8个字节)内存空间。浮点型数据可以使用整数+小数来表示,也可以使用科学计数法表示大数值。同样在python中没有像在C语言中还有分double这些浮点类型,python中只有Float类型。
浮点型的输出:
f = 32.6e18
print("f =", f)
print("f = %e" % f)
print("f = %f" % f)
print(f"f= {f}")
结果如下:
浮点型数据支持基本的数学运算,包括加法、减法、乘法、除法和取模等操作。然而,由于浮点数在计算机中是以二进制形式表示的,因此可能会出现精度丢失的问题。这意味着在进行浮点数运算时,可能会出现舍入误差,需要特别注意。
3.1.3 布尔类型
布尔类型(Bool)是一种基本的数据类型,用于表示逻辑值。布尔类型有两个取值:True(真)和False(假)。布尔类型通常用于条件判断和逻辑运算中,以控制程序的流程和行为。
布尔类型的值True和False是内置的关键字,它们不仅代表了逻辑上的真和假,还可以作为整数的1和0来进行运算。
在Python中,布尔类型通常与条件语句(如if语句)和逻辑运算符(如and、or、not等)一起使用,用于控制程序的流程和逻辑。(现在看不懂也没关系可以学到后面再来回顾)
x = True
y = False
if x:
print("x is True")
else:
print("x is False")
布尔类型的值:
print(True == 1)
print(False == 0)
以上代码的结果,其中 == 是表示等于的意思,在后面学习运算符的时候会讲解
3.2 组合数据
3.2.1 字符串
字符串(String)是一种在编程语言中用来表示文本数据的数据类型。字符串是一系列字符的序列,可以包含字母、数字、特殊字符和空格等。字符串可以使用单引号(‘)或双引号(")来表示,python还允许使用三引号(’‘’)或(‘’‘’‘’)创建跨多行的字符串,这种字符串中可以换行符、制表符及其他特殊字符,所以其实之前的注释本质上还是个字符串
例如:
str1 = 'Hello, World!'
str2 = "Python Programming"
在python中,并没有像c语言那样分字符串和单字符,而是将这些全都归为字符串。
**Python又为字符串中的每个字符分配一个数字来指代这个元素的位置,即索引。**第一个元素的索引是0,第二个元素的索引是1。(有点类似C语言中的下标),同时,字符串还支持反向索引,字符串中最后一个字符的索引是-1,倒数第二个字符的索引是-2……
例如:
通过字符索引我们可以获取不同字符
s = "Hello, World!"
print(s[0]) # 输出:H
print(s[-1]) # 输出:!
print(s[7:12]) # 输出:World
print(s[:-7]) # 输出:Hello,
print(s[::-1]) # 输出:!dlroW ,olleH(字符串反转)
print(s[5:8:2]) # 输出: ,W
字符串索引在Python中非常常用,它们可以用于访问、修改和操作字符串中的内容。
3.2.2 list 列表
列表(List)是Python中最常用的数据结构之一,用于存储一系列有序的元素集合。列表可以包含任意类型的元素,包括整数、浮点数、字符串、布尔值、甚至其他列表等。
列表是可变的,这意味着可以修改列表的内容,包括添加、删除和修改元素。(就有点像C语言里的数组),列表使用方括号[]来表示,列表中的元素可以通过索引访问,索引从0开始递增。
例如:
my_list = ['C', 'I', 'L', 'M', 'Y', 2, 3]
print(my_list[0])
print(my_list[1])
print(my_list[2])
print(my_list[-4])
print(my_list[-3])
打印结果如下所示:
示意图如下:
列表可以进行切片操作,通过指定起始索引和结束索引来获取子列表。切片操作返回一个新的列表,包含指定范围内的元素,是一个左闭右开区间。
例如:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
img-blog.csdnimg.cn/img_convert/46506ae54be168b93cf63939786134ca.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
![img](https://img-blog.csdnimg.cn/img_convert/a090ff8009718ba744a60ea42a6077bd.jpeg)