python基础语法(一)变量

目录

使用变量

变量的类型

整数

浮点数

字符串

布尔

其他


使用变量

读取变量的值

python 复制代码
a = 10
print(a)

修改变量的值

python 复制代码
a=20
print(a)

在Python中,需要注意的是,修改变量也是使用=运算,看起来和定义变量没有明显区别

当然,也可以把一个变量的值赋值给另一个变量

python 复制代码
a=10
b=20
a=b
print(a)

变量的类型

变量里面存储的不仅仅是数字,还可以存储其它种类的数据,为了区分不同种类的类型,我们引入了"类型"这样的概念

和C++/Java等语言不同,Python变量的类型不需要显式指定,而是在赋值的时候确定的

整数

python 复制代码
a=10
print(type(a))

type和print类似,也是python内置的函数,可以使用type来查看一个变量的类型

和C++/Java等语言不同,python的int类型变量,表示的数据范围是没有上限的,理论上只要内存无限大,就可以表示无限大小的数据

浮点数

python 复制代码
a=2.1
print(type(a))

和C++/Java等语言不同,python的小数只有float这一种类型,没有double类型,但是实际上,python的float就相当于C++/Java的double,表示双精度浮点型

关于单精度浮点数和双精度浮点数的问题,和单精度浮点数相比,双精度浮点数占用的内存空间更多,同时表示的数据精度更高,精确到小数点后15位

字符串

python 复制代码
a="hello"
print(type(a))

使用''或者""引起来的,叫做字符串,可以用来表示文本

在python中,单引号构成的字符串和双引号构成的字符串,没有区别,"hello"和'hello'是完全等价的

可以使用len函数来获取字符串的长度

python 复制代码
a="hello"
print(len(a))

可以使用+针对两个字符串进行拼接

python 复制代码
a = 'hello'
b = 'world'
print(a+b)

此处是两个字符串相加,不能拿字符串和整数/浮点数相加

字符串作为开发中最常用到的数据类型,支持的操作方式也是非常丰富的

布尔

布尔类型是一个特殊的类型,取值只有两种,True(真)和False(假)

布尔类型也是数学上的一个概念,我们初中就学过一个概念叫做命题,进一步的就可以判断命题的真假

python 复制代码
a =True
b=False
print(type(a))
print(type(b))

其他

除了上述的类型之外,python中还有list,tuple,dict,自定义类型等等

那为什么要有这么多的类型

(1)类型决定了数据在内存中占据多大空间

例如:float类型在内存中占据八个字节

(2)类型约定了能对这个变量做什么样的操作

例如:float/int类型的变量,可以进行+-*/等操作

而str类型的变量,只能进行+(并且行为是字符串拼接),不能进行-*/,但是还能使用len等其他操作

在python中,一个变量是什么类型,是可以在"程序运行"过程中发生的,这个特性叫做"动态类型"

python 复制代码
a=10
print(type(a))
a=0.5
print(type(a))

在程序执行过程当中,a的类型刚开始是int,后面变成了str

C/Java这样的语言是不允许这样的操作,一个变量定义后类型就是固定的了,这种特性叫做"静态类型"

动态类型特性是一把双刃剑

对于中小型程序,可以大大的解约代码量(比如写一段代码可以同时支持多种类型)

对于大型程序,则提高的模块之间的交互成本。

相关推荐
这个男人是小帅10 分钟前
【GAT】 代码详解 (1) 运行方法【pytorch】可运行版本
人工智能·pytorch·python·深度学习·分类
Qter_Sean12 分钟前
自己动手写Qt Creator插件
开发语言·qt
何曾参静谧16 分钟前
「QT」文件类 之 QIODevice 输入输出设备类
开发语言·qt
爱吃生蚝的于勒1 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
小白学大数据3 小时前
Python爬虫开发中的分析与方案制定
开发语言·c++·爬虫·python
冰芒猓4 小时前
SpringMVC数据校验、数据格式化处理、国际化设置
开发语言·maven
Shy9604184 小时前
Doc2Vec句子向量
python·语言模型
失落的香蕉4 小时前
C语言串讲-2之指针和结构体
java·c语言·开发语言
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
杜杜的man5 小时前
【go从零单排】Closing Channels通道关闭、Range over Channels
开发语言·后端·golang