python定义⼀个字符串变量_Python如何定义变量,不可变数
据,数字、字符串、元组详解...
不可变数据就是变量⼀旦初始化就不能修改
Python的六个标准数据类型中不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)。
内置的 type() 函数可以⽤来查询变量所指的对象类型。
定义变量
变量不需要声明。每个变量在使⽤前都必须赋值,变量赋值以后该变量才会被创建。等号(=)⽤来给变量赋值。等号(=)左边是⼀个变量名,等号(=)右边是存储在变量中的值。
变量名 = 变量值定义变量的⼏种情况:
⼀个变量⼀⾏:推荐⽤这种,不容易搞混。
多个变量赋值相同:
多个变量赋值不同:注意变量有⼏个,右边的值就要⼏个,不要少,注意逗号隔开。
Number(数字):
Python3 ⽀持int、float、bool、complex。在Python 3⾥,只有⼀种整数类型 int,表⽰为长整型,没有 python2 中的 Long。
int:整数,包括负整数。float:浮点数也就是⼩数。bool:只有True、False两种值,在Python中,可以直接⽤True、False表⽰布尔值(请注意⼤⼩写),True可以转换数字1,False可以转换数字0。complex:复数x被定义为⼆元有序实数对(a,b) ,记为z=a+bi,这⾥a和b 是实数,i是虚数单位。print()打印多个值,⽤逗号隔开。
⽤type() 函数输出结果:打印结果对应数字的四种类型。
String(字符串):
Python中的字符串⽤单引号或双引号括起来。建议如果字符串⾥⾯有单引号最外⾯⽤双引号,字符串⾥⾯有双引号⽤单引号。如果都是⽤单引号或者双引号,字符串⾥⾯有单引号、双引号或者特殊字符需要⽤\反斜杠转义。
变量a和b就原样输出,变量c和d输出结果为:
变量c输出结果换⾏了,它⾥⾯\n换⾏符,⽽变量d输出结果没有换⾏,还多出\n。\\n把\n转义成不是特殊字符。
多⾏注释都知道⽤左右两边各三个单引号或者双引号。如果⽤⼀个变量接受这样的注释会是怎么样,并打印。
输出结果:
如果没有赋值变量,它就是单纯多⾏注释,如果赋值变量,它就变成⼀个字符串。
字符串截取:变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。把字符串看做⼀栋楼,因为python是外国⼈开发的语⾔,外国楼层都是从0层开始,所以索引从0开始。很多编程语⾔都是外国⼈开发,所以其他语⾔的索引也是0开始。
定义⼀个字符串:str = 'python'
索引说明:
操作字符串:
输出结果:
字符串相加:⽤加号可以拼接两个字符串成为⼀个。
字符串想乘:字符串乘以整数3,变成python复制3份。
三种字符串格式化⽅法:
输出结果:推荐使⽤第三种format()格式化字符串。
注意:
1、反斜杠可以⽤来转义。
2、字符串可以⽤+运算符连接在⼀起,⽤*运算符重复。
3、字符串有两种索引⽅式,从左往右以0开始,从右往左以-1开始。
4、字符串不能改变。Tuple(元组)
元组的元素⼀旦初始化就不能修改,元组写在⼩括号()⾥,元素之间⽤逗号隔开。构造包含 0 个或 1 个元素的元组⽐较特殊,所以有⼀些额外的语法规则。
tup1 = () # 空元组tup2 = (1,) # ⼀个元素,需要在元素后添加逗号
输出结果:
元组元素也可以有字符串等其他数据类型,为了⽅便直接全部⽤数字。字符串和元组获取元素都是⼀样的。
注意:
1、与字符串⼀样,元组的元素不能修改。
2、元组与字符串⼀样也可以被索引取值。
3、注意构造包含0或1个元素的元组的特殊语法规则。
4、元组也可以使⽤+操作符进⾏拼接。不可变数据指初始化不可以改变⾥⾯的值,如果重新赋值,则后⾯就会覆盖前⾯的。
内置的id()函数的返回值就是对象的内存地址。
内存地址是什么?
我有⼀台电脑内存16G,你有⼀台电脑内存4G。我的电脑打开10个软件还运⾏顺畅,你的电脑打开5个软件就卡的动不了。每打开⼀个软件,都会去调⽤内存,每个软件就分配⼀个内存地址。每个内存
地址也会分配内存空间的,内存⼤打开10个软件占⽤内存10G,还有6G。但是内存⼩,打开5个软件占⽤内存5G,你的电脑本来才4G,不够分。
python当该数据类型的对应变量的值发⽣了改变,那么它对应的内存地址也会发⽣改变,对于这种数据类型,就称不可变数据类型。
定义变量num值为10,打印内存地址。然后在定义变量num值为20,再打印内存地址。
两次结果不同:
有⼈会有疑问,变量不是⼀样吗?如果其他语⾔可能是为变量num分配内存地址,但是python它是为值分配内存地址的。
程序从上往下执⾏,后⾯变量会覆盖前⾯变量。
字符串和元组也是⼀样的,也定义相同变量不同的值⽤id()函数打印。
你去年买了⼀套3房2厅的房⼦,你今年把房⼦卖掉。今年之前房产证写你的名字,今年房产证写别⼈的名字了,房⼦的拥有权发⽣变化了。
python格式化输出format数字、字符串、元组的值不可以修改,但是可以覆盖。覆盖,内存地址也跟着变化。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论