Python--变量/运算符/表达式

本文详细介绍了Python中的变量、运算符与表达式的使用方法,包括变量赋值、四则运算、关系运算和逻辑运算,并通过代码示例进行演示。

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

1.python变量

       python变量名称只是用来引用内存中存储数据的标签;内存中相同的存储数据可以有多个标签,即多个变量名称。

变量名有字母、数字、下划线组成,数字不能开头,不可以使用关键字。

变量赋值:变量声明和定义的过程。eg:a=1,id(a)获取a的地址。

2.python运算符与表达式

       —赋值运算符:=、+=、-=、*=、/=、%=

       —算术运算符:+、-、*、/(实数除法)、//(整数除法)、%(求余数)、**(求幂运算,2**3=8)

user1@ubuntu:~$ su
Password: 
root@ubuntu:/home/user1# cd ~
root@ubuntu:~# cd csvtpy/
root@ubuntu:~/csvtpy# python
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
>>> 3-2
1
>>> 3*4
12
>>> 4/2
2
>>> 3/2
1
>>> 3.0/2
1.5
>>> 3.0//2
1.0
>>> 17/6
2
>>> 17%6
5
>>> 3**2
9
>>> 3**3
27
>>> a33=3**3
>>> a33
27
>>> print a33
27
>>> a33-12
15
>>> a15=a33-12
>>> a15
15
>>> a=100
>>> a-50
50
>>> b=a-50
>>> b
50
>>> a
100
>>> a=a-50
>>> a
50
>>> a-=50
>>> a
0
>>> a+=20
>>> a
20
>>> a*=3
>>> a
60
>>> a/=2
>>> a
30
>>> a%=4
>>> a
2
>>> 

四则运算器:

root@ubuntu:~/csvtpy# vim 3.py
root@ubuntu:~/csvtpy# python 3.py
5
1
6
1
root@ubuntu:~/csvtpy# vim 3.py
root@ubuntu:~/csvtpy# python 3.py
5
2
52
Traceback (most recent call last):
  File "3.py", line 6, in <module>
    print a-b
TypeError: unsupported operand type(s) for -: 'str' and 'str'
root@ubuntu:~/csvtpy# vim 3.py
root@ubuntu:~/csvtpy# python 3.py
5
2
7
3
10
2
root@ubuntu:~/csvtpy# vim 3.py
root@ubuntu:~/csvtpy# python 3.py
please input num1:8
please input num1:9
17
-1
72
0
root@ubuntu:~/csvtpy# vim 3.py
root@ubuntu:~/csvtpy# python 3.py
please input num1:3
please input num2:5
8
-2
15
0
root@ubuntu:~/csvtpy# 


3.py里面的内容:
#!/usr/bin/python
a=int(raw_input("please input num1:"))
b=int(raw_input("please input num2:"))

print a+b
print a-b
print a*b
print a/b

       —关系运算符:<、>、<=、>=、!=、== (均返回bool值)

>>> 1<2
True
>>> 3<1
False
>>> 3>2
True
>>> 3>5
False
>>> 3!=5
True
>>> 3!=3
False
>>> 3==3
True
>>> 3==3.0
True
>>> 3==33
False
>>>

       —逻辑运算符:and、or、not (均返回bool值)

>>> 1>2 2<3
  File "<stdin>", line 1
    1>2 2<3
        ^
SyntaxError: invalid syntax
>>> 1>2 and  2<3
False
>>> 5>2 and  2<3
True
>>> 5>2 and  2>3
False
>>> 5<2 and  2>3
False
>>> 
>>> 1>2 or  2<3
True
>>> 5<2 and  5<3
False
>>> 
>>> 1>2
False
>>> not 1>2
True
>>> 

表达式是将不同数据(包括变量、函数),用运算符按一定规则连接起来的一种式子。

user1@ubuntu:~$ su
Password: 
root@ubuntu:/home/user1# cd ~
root@ubuntu:~# cd csvtpy/
root@ubuntu:~/csvtpy# python
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=3
>>> a
3
>>> b=5
>>> b
5
>>> 3+5
8
>>> a+b
8
>>> a1=1
>>> a_1=2
>>> _a_2=3
>>> a1
1
>>> a_1
2
>>> _a_2
3
>>> _a3=3
>>> _a3
3
>>> a=33
>>> a
33
>>> a=44
>>> a
44
>>> id(a)
24767352
>>> a=33
>>> id(a)
24765624
>>> jb=23
>>> print jb
23
>>> jb=23+2
>>> print jb
25
>>> yd=45
>>> yd=kao
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'kao' is not defined
>>> yd='kao'
>>> print yd
kao
>>> HoursPerDay=24
>>> MinutesPerHour=60
>>> DaysPerWeek=7
>>> TotalMinutesPerWeek=DaysPerWeek*HoursPerDay*MinutesPerHour
>>> print TotalMinutesPerWeek
10080
>>> HoursPerDay=26
>>> TotalMinutesPerWeek=DaysPerWeek*HoursPerDay*MinutesPerHour
>>> print TotalMinutesPerWeek
10920
>>> 


以下图像来自中谷教育Python视频教学截图


<think>好的,我现在需要解决用户的问题:为什么在Python表达式-5//4等于-7//4的结果。首先,我要回忆一下Python中的整数除法运算符//的行为。 用户之前问过关于变量作用域的问题,现在转向了整数除法的特性。这可能意味着他们对Python中的运算符行为不太熟悉,或者遇到了意外的结果,想深入了解原因。 首先,我得确认Python中//运算符的处理方式。在Python中,//是向下取整的除法运算符。对于正数,结果很直观,例如7//4结果是1,因为4*1=4,余数是3。但对于负数,结果可能让人困惑。 接下来,我需要计算-5//4和-7//4的具体结果。对于-5除以4,数学上是-1.25,向下取整应该是-2,因为-2是比-1.25更小的整数。同样,-7除以4是-1.75,向下取整也是-2。所以两者结果都是-2,所以等式成立。 但用户可能会疑惑为什么不是-1或者其他的数值,这里的关键是“向下取整”的定义。在数学中,向下取整总是向负无穷方向取整,而不是向零方向。例如,-1.25向下取整到-2,而如果是向零取整,就会是-1,但Python的//运算符不是这样处理的。 我需要验证这个结论是否正确。可以用Python代码实际运行这两个表达式,确认结果是否为True。例如,在Python交互环境中输入-5//4,结果应该是-2,而-7//4也是-2,所以-5//4 == -7//4的结果是True。 另外,可能需要解释为什么这种设计有意义。Python的设计者选择让a = b * (a // b) + (a % b)始终成立,即使对于负数也是如此。例如,对于-5//4=-2,余数是3,因为-5 = 4*(-2) +3。这确保了余数总是非负的,并且除数被除数的符号相同。 用户可能需要了解这种设计其它编程语言的差异。例如,在C语言中,整数除法的行为可能不同,取决于实现,通常是向零取整,导致负数除法的结果不同。而Python统一采用向下取整,使得余数的处理更一致。 总结起来,用户的问题核心在于理解Python中整数除法//的向下取整机制,特别是对负数处理的方式。需要明确说明这一机制,并通过具体计算步骤展示结果,同时对比其他可能的行为,帮助用户彻底理解为何-5//4等于-7//4。</think>--- ### **问题解析** 判断表达式 `-5//4 == -7//4` 的结果是否为 `True`,需理解 Python 中 **整数除法运算符 `//` 的运算规则**,尤其是对负数的处理方式。 --- ### **关键结论** **表达式结果为 `True`**,因为 `-5//4` 和 `-7//4` 的计算结果均为 `-2`。 验证代码如下: ```python print(-5 // 4) # 输出 -2 print(-7 // 4) # 输出 -2 print(-5//4 == -7//4) # 输出 True ``` --- ### **逐层解析** #### **1. Python 整数除法的规则** Python 的 `//` 运算符遵循 **向下取整(floor division)** 原则,即结果向负无穷方向取整。 - 对正数:直接取商的下界,例如 `7//4 = 1`(因为 `4*1=4 ≤ 7 < 4*2=8`)。 - 对负数:结果会向更小的整数方向取整,例如 `-5//4 = -2`(因为 `4*(-1) = -4 > -5`,需取更小的 `-2`)。 #### **2. 具体计算过程** 1. **计算 `-5//4`** - 数学商:$-5/4 = -1.25$ - 向下取整:$-1.25$ 的向下取整结果为 $-2$。 - 验证:$4 \times (-2) = -8 \leq -5 < 4 \times (-1) = -4$。 2. **计算 `-7//4`** - 数学商:$-7/4 = -1.75$ - 向下取整:$-1.75$ 的向下取整结果为 $-2$。 - 验证:$4 \times (-2) = -8 \leq -7 < 4 \times (-1) = -4$。 因此,`-5//4` 和 `-7//4` 的结果均为 `-2`,等式成立。 --- ### **对比其他语言的行为** Python 的整数除法部分编程语言不同: - **C/C++/Java**:对负数的除法采用 **向零取整**,即截断小数部分。 - 例如:`-5/4` 在 C 语言中结果为 `-1`,而 `-7/4` 为 `-1`,此时 `-5/4 == -7/4` 仍为 `True`,但结果 Python 不同。 --- ### **数学公式辅助理解** Python 的整数除法保证以下等式恒成立: $$ a = b \times \left( a // b \right) + (a \% b) $$ - 对 `-5` 和 `4`: $$ -5 = 4 \times (-2) + 3 \quad \Rightarrow \quad -5//4 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Digital2Slave

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值