python的常量变量赋值以及运算符操作

本文介绍了Python中的变量声明和赋值,包括链式赋值和系列解包赋值。探讨了Python中常量的概念,虽然语言本身不支持,但可以通过约定命名规则来模拟。详细阐述了基本内置数据类型和运算符,如整数、浮点数和布尔值的转换。此外,还讨论了增强型赋值、比较、逻辑和同一运算符,以及运算符的优先级规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、变量的声明和赋值

1、变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下: 变量名 = 表达式

2、链式赋值:链式赋值用于同一个对象赋值给多个变量。 x=y=123 相当于:x=123; y=123

3、系列解包赋值:系列数据赋值给对应相同个数的变量(个数必须保持一致) >>> a,b,c=4,5,6 相当于:a=4;b=5;c=6

二、常量

Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。

>>> MAX_SPEED = 120
>>> print(MAX_SPEED)
120
>>> MAX_SPEED = 140 #实际是可以改的。只能逻辑上不做修改。
>>> print(MAX_SPEED)
140

三、最基本内置数据类型和运算符

1、最基本的内置数据类型

1. 整型
整数,2345,10,50
2. 浮点型
小数,3.14 或者科学计数法 314e-2
3. 布尔型
表示真假,仅包含:True、False
4. 字符串型
由字符组成的序列。 “abc”,”sxt”

2、基本运算符

示例:

>>> a = 7/2 #浮点数除法
>>> a
3.5
>>> a = 7//2 #整数除法
>>> a
3
>>> a = 7%2  #取余
>>> a
1
>>> 7%4
3
>>> 2**3  #幂运算
8
>>> 3/0
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
3/0
ZeroDivisionError: division by zero
>>> divmod(10,5)  #同时得到商和余数
(2, 0)
>>> divmod(10,3)
(3, 1)

3、使用int()实现类型转换:浮点数直接舍去小数部分。布尔值True转为1,False转为0.字符串符合整数格式则直接转为对应整数,否则报错。

整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0

四、增强型赋值运算符

五、比较运算符

所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。 以下假设变量 a 为 15,变量 b 为 30:

六、逻辑运算符

七、同一运算符

同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。

示例:

>>> a = 1000
>>> b = 1000
>>> a == b
True
>>> a is b
False
>>> id(a)
46764560
>>> id(b)
46765216
>>> c = 10
>>> d = 10
>>> c is d
True
>>> id(c)
1388831648
>>> id(d)
1388831648

is 与 == 区别:

is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;

== 比较的是两个对象的内容是否相等,值是否相等;默认调用对象的 __eq__()方法。

、is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is。

八、基本运算符

示例:

1. 比较运算符可以连用,并且含义和我们日常使用完全一致。
>>> a = 4
>>> 3<a<10 #关系运算符可以连用
True

2. 位操作
>>> a = 0b11001
>>> b = 0b01000
>>> c = a|b
>>> bin(c) #bin()可以将数字转成二进制表示
'0b11001'
>>> bin(c&b)
'0b1000' 
>>> bin(c^b)
'0b10001' 
>>> a = 3
>>> a<<2 #左移 1 位相当于乘以 2.左移 2 位,相当于乘以 4
12
>>> a = 8
>>> a>>1 #右移 1 位相当于除以 2. 

3. 加法操作
(1) 数字相加 3+2 ==> 5
(2) 字符串拼接 “3”+“2”==> “32”
(3) 列表、元组等合并 [10,20,30]+[5,10,100] ==>[10,20,30,5,10,100]

4. 乘法操作
(1) 数字相乘 3*2 ==> 6
(2) 字符串复制 “sxt”*3 ==> ”sxtsxtsxt”
(3) 列表、元组等复制 [10,20,30]*3 ==> [10,20,30,10,20,30,10,20,30]

九、复合赋值运算符

注意:与 C 和 JAVA 不一样,Python 不支持自增(++)和自减(--)

十、运算符优先级问题

从高到低顺序:

实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。

1. 乘除优先加减

2. 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值