python全栈之路2,变量类型
本章主要内容:
1、python变量
2、数据类型
3、运算符
python变量
1、变量的含义
♦ 变量可以理解为赋予并保存一个值,可以拿来使用或调用。
♦ 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数、字符、、中文汉字或字符串数据。
2、变量赋值
♦ Python 中的变量赋值不需要类型声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
♦ 等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:


上面是打印后的结果,这个也可以看做变量的使用和调用
变量一般的命名规则和要求:
(1)变量名要有描述性,能让别人看懂你变量的含义。建议不要使用中文汉字,虽然python3支持汉字做变量名,也不要用拼音,最好用英文单词;
(2)变量名只能用数字、字母、下划线组成,不可以使用空格和特殊字符,这里下划线不属于特殊字符;
(3)不能以数字开头,可以使用下划线,一般多个名称之间用下划线来间隔连接;
(4)保留字符不能被使用。比如print、if、else、int、str、and、or.......等等语法名称,这些都是python的保留字符;
(5)变量名称区分大小写,比如创建一个变量名为name,再创建一个变量为Name,但是两个变量是不一样的,不能看做是一个变量;
3、多个变量赋值
♦ Python允许你同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
♦ 也可以为多个对象指定多个变量。例如:
以上实例,两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。
python数据类型
1、 标准数据类型
在内存中存储的数据可以有多种类型。
例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。
Python 定义了一些标准类型,用于存储各种类型的数据。
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
上面有说过整数类型和字符串类型在变量赋值时有区别,这两种类型有什么区别呢?
♦ 整数类型是数字类型中的一种,数字数据类型用于存储数值。数字类型分为四种
int(有符号整型)、long(长整型[也可以代表八进制和十六进制])、float(浮点型)、complex(复数)。
整数(integer)就是像-3,-2,-1,0,1,2,3,10等这样的数,整数类型int就是整数的英文单词缩写。
♦ 字符串或串(String)是由数字、字母、下划线组成的一串字符,一般写为str
所以前面定义变量时,赋的值为字符串时,要用单引号或双引号
这两者的区别是:整数类型和字符串类型在定义变量名字时不一样,int和str不能拼接,只能用逗号分隔开,才可以打印使用。
同类型之间不需要逗号,可以直接拼接打印。例如:

这里报错了,提示不能把int类型和str类型之间用 + 号拼接,这种可以用逗号分隔开,也可以再转换类型,例如:

数字也可以定义为一个字符串,这样同类型之间就可以拼接打印了。逗号是分隔,打印出来两个变量之间有空格。+号是拼接,中间则没有空格。
一般不要用+号连接,太占用内存
2、 Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值
| 函数 | 描述 |
|---|---|
|
将x转换为一个整数 |
|
|
将x转换为一个长整数 |
|
|
将x转换到一个浮点数 |
|
|
创建一个复数 |
|
|
将对象 x 转换为字符串 |
|
|
将对象 x 转换为表达式字符串 |
|
|
用来计算在字符串中的有效Python表达式,并返回一个对象 |
|
|
将序列 s 转换为一个元组 |
|
|
将序列 s 转换为一个列表 |
|
|
转换为可变集合 |
|
|
创建一个字典。d 必须是一个序列 (key,value)元组。 |
|
|
转换为不可变集合 |
|
|
将一个整数转换为一个字符 |
|
|
将一个整数转换为Unicode字符 |
|
|
将一个字符转换为它的整数值 |
|
|
将一个整数转换为一个十六进制字符串 |
|
|
将一个整数转换为一个八进制字符串 |
运算符
这里主要说明Python的运算符。举个简单的例子 4 +5 = 9 。 例子中,4 和 5 被称为操作数,"+" 称为运算符。
Python语言支持以下类型的运算符:
1、算数运算符
算数运算符是python中用来计算的符号,帮助我们来实现一些数学的运算
" + " ,和数学中的加号一样,用来做相加法的运算
" - ",和数学中的减号一样,用来做减法的运算
" * ",代表数学中的乘号,用来做乘法的运算
" / ",代表数学中的除号,用来做除法运算
" // ",是数学中整除的意思,只保留整数
" % ",是数学中除法中的取余数,这的结果是除法运算后的余数
>>> 1+2 3 >>> 2-1 1 >>> 2*3 6 >>> 6/2 3.0 >>> 5//2 2 >>> 5%3 2
2、比较(关系)运算符
比较运算符是python中用来比较大小的符号,和数学中的大于小于一样
" > ","<",大于和小于号跟数学中的大小于号的意思是一样的。
" >= ",代表大于等于的意思,表示大于或等于
" < = ",代表小于等于的意思,表示小于或等于
" == ",python中一个等号是赋值,两个等号用来表示,符号两边的数据相等
" != ",有相等,对应的就有不相等,这个代表的就是符号两边不相等
真假值
True代表是真的意思。False代表是假的意思
>>> 5>3 True >>> 3<5 True >>> 4>=4 True >>> 4<=4 True >>> 65==65 True >>> a = 12 >>> b = 5 >>> c = 5 >>> b == c True >>> b == a False >>> b != a True
3、赋值运算符
在等号前面加上运算符就是赋值运算符(" += "," -= "," *= "," /= "," //= "," %= "')
>>> a = 5 >>> a += 1 >>> print(a) 6 >>> a -= 2 >>> print(a) 4 >>> a *= 5 >>> print(a) 20 >>> a /= 2 >>> print(a) 10.0 >>> a //= 2 >>> print(a) 5 >>> a %= 2 >>> print(a) 1.0
4、逻辑运算符
" and ",代表且,并且的意思。可以判断一个变量是否同时满足两个条件,当and两边的条件都要成立时,结果是真(True),否则就是假(False)
" or ",代表或,或者的意思。可以判断一个变量是否满足其中一个条件,当or两边。任意一个或者同时都成立时,结果是真(True),否则就是假(False)
" not ",代表不,不是的意思。用来否定你的条件,如果你的条件为真时,结果为假(False),条件为假时,结果为真(True)
>>> a = 5 >>> a > 0 and a < 7 True >>> a > 0 and a< 4 False >>> a > 0 or a < 4 True >>> a > 7 or a< 4 False >>> not a > 7 True >>> not a > 7 True
5、成员运算符
成员运算符可以看做在指定的序列中找值
" in ",在指定的序列中找值,如果找到了返回True,否则返回False
" not in ",在指定的序列中找值,如果没找到返回True,否则返回False
>>> a = 3 >>> b = 6 >>> number_list = [1,2,3,4,5] >>> a in number_list True >>> b in number_list False >>> a not in number_list False >>> b not in number_list True
6、身份运算符
身份运算符用于比较两个对象的存储单元
" is ",是判断两个标识符是不是引用自一个对象
" is not " ,是判断两个标识符是不是引用自不同对象
>>> name1 = "salli" >>> name2 = "salli" >>> name1 is name2 True >>> name3 = "jack" >>> name2 is name3 False>>> name1 is not name3 True >>> name1 is not name2 False
7、位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
| 运算符 | 描述 | 实例 |
|---|---|---|
| & | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
| ^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
| ~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 |
| << | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
| >> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |

浙公网安备 33010602011771号