Python变量及运算符表达式

本文介绍了Python中的变量,包括命名规则和赋值,并详细讨论了运算符与表达式,涵盖赋值运算符、算术运算符(如整数除法的区别)、关系运算符和逻辑运算符。此外,还讲解了`input`与`raw_input`函数的差异及使用场景。

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

1. 变量

变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。

Python下的变量是对一个数据的引用,给变量重新赋值,相当于把标签指向内存中的另外一块区域,而C语言是改变对应区域的内容。

1.1 命名

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

1.2 赋值

  • 是变量的声明和定义的过程。
    id()内置函数,用于查看变量在内存中的地址。
    type()内置函数,用于查看变量的类型。

使用字符串给变量赋值时需要加引号。除数字外没引号的,通常会当作未定义的变量,导致输出报错。

2. 运算符与表达式

2.1 分类

  • 赋值运算符
  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 表达式

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

2.1.1 赋值运算符
符号示例备注
=x = 9, y = “Good”为变量x, y赋值
+=x += 1x = x + 1
-=x-= 2x= x - 2
*=x *= 3x= x * 3
%=x % = 4x= x % 4
/=x /= 5x = x / 5
2.1.2 算术运算符
符号备注
+
-
*
/
//执行地板除。操作数为整数,结果向下取整,操作数为浮点数,结果小数部分为0
%取余
**幂运算

当除数和被除数都是整数的时候,返回结果都是整数。 当除数和被除数至少有一个是浮点数的时候,返回结果都是浮点数。但是, // 的结果的小数部分永远是 0.

X / Y
对于Python2.X来说,如果两个操作数都是整数,那么结果将向下取整(这个和C里面的不同,C里面是向0取整),也就是说,如果结果本来是-2.5,那么向下取整为-3,如果结果本来是2.5,那么向下取整为2;如果两个操作数有浮点数,那么就是浮点数除法,结果就是浮点数除法;对于Python3.X来说,不管操作数有没有浮点数,都是浮点数除法。
5 / -2
#2.X 商:-3 余数:-1
#3.X 商:-2.5 余数:-1
#C 商:-2 余数:1
5.0 / -2
#2.X 商:-2.5 余数:-1.0
#3.X 商:-2.5 余数:-1.0
#C 商:-2.5 余数:C中的%取余运算符不支持浮点数类型

X // Y
// 对于Python2.X和Python3.X来说,效果是一样的,无论操作数都是整数,还是包括浮点数,//都会向下取整,当然对于有浮点数的计算,结果仍会以浮点数形式返回,比如-5.0 // 2,结果是-3.0:
-5 // 2
#2.X 商:-3 余数:1
#3.X 商:-3 余数:1
#C 商:-2 余数:-1
-5.0 // 2
#2.X 商:-3.0 余数:1.0
#3.X 商:-3.0 余数:1.0
#C 商:-2.5 余数:C的取余运算不支持浮点数

在Python中,余数的符号和除数相同(而在C中,余数的符号和被除数相同)

2.1.3 关系运算符
符号备注
>
<
>=
<=
==
!=

2.1.4 逻辑运算符
符号备注
and逻辑与
or逻辑或
not逻辑非

2.2 运算符优先级

运算符备注
lambdaLambda表达式
or布尔“或”
and布尔“与”
not x布尔“非 ”
in,not in成员测试
is,is not同一性测试
<,<=,>,>=,!=,==比较
|按位或
^按位异或
&按位与
<<,>>移位
+,-加法与减法
*,/,%乘法、除法与取余
+x,-x负号
~x按位翻转
**指数
x.attribute属性参考
x[index]下标
x[index:index]寻址段
f(arguments…)函数调用
(experession,…)绑定或元组显示
[expression,…]列表显示
{key:datum,…}字典显示
‘expression,…’字符串转换

从上到下,同一行内从左到右,优先级越来越高。

2.3 input 与 raw_input 函数

2.3.1 对比

Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError。另外在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

raw_input() 将所有输入作为字符串看待,返回字符串类型。在python3中已去掉raw_input函数。

2.3.2 练习

python2环境下输入两个数字,进行四则运算。

vim /tmp/1.py

#! /usr/bin/python
# -*- coding: utf-8 -*-
a = input("请输入第一个数字:")
b = input("请输入第二个数字:")
print "%s + %s = %s" % (a,b,a+b)
print "%s - %s = %s" % (a,b,a-b)
print "%s * %s = %s" % (a,b,a*b)
print "%s / %s = %s" % (a,b,a/b)
python /tmp/1.py

结果如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值