Python基础--变量与运算符

变量与运算符

1. 初识标准输出函数:

print('要打印的东西', 1)
要打印的东西 1

注:多个数据要用 ,逗号分开(逗号自带一个空格)

2. 变量:

变量是关联一个对象的符号

  • 变量名的命名方法:

注:python变量名区分大小写,标识符的正则表达式:[A-Za-z][A-Za-z0-9]*

  1. 变量名必须是一个标识符
  2. 变量名必须为字母或下划线开头,后跟字母或下划线或数字
  3. 不能用python的关键字

python的关键字:None, True, False, is, del, if, elif, pass, not,⋯⋯⋯⋯

name = 'zhangsan'  # 变量name 绑定字符串对象zhangsan
mingzi = name  # 这条语言相当于变量mingzi 向变量name 问路后绑定到字符串对象zhangsan
name = 'lisi'  # 变量name 改变了绑定关系,两个变量从此没有关系
name
'lisi'
mingzi
'zhangsan'

python中关联、绑定、引用的含义

python中,变量没有类型,不需要声明,每个变量在使用之前都必须赋值,变量赋值以后该变量才会被创建
python中,一个变量与一个对象相关联,关联/绑定/引用,都是指变量和一个对象的关联关系

python中变量不存储任何数据,没有任何数据类型,类型是指变量所指的内存中对象的类型

3. 基础运算符

1. 算术运算符 operator:

+   加法
-   减法
*   乘法
/   除法
//  地板除floordiv(python 2.3之后)
%   求余
**  幂运算
  • / 除法得到的是浮点型的数,不会丢弃小数部分
8 / 2
4.0
1 / 3  #(精确到小数点后16位)
0.3333333333333333
  • // 地板除是将除法得到的数去掉小数部分向下取整
7 // 3
2
3.25 // 1.5
2.0
-5 // 3
-2
  • % 求余
7 % 3
1
3.25 % 1.5
0.25
  • ** 幂运算

格式:x ** y # 意为x的y次方

4 ** 2
16
3.0 ** 4.0
81.0

算数运算符的优先级

同优先级自左向右

**    *  /  %  //    +  -

括号分组子表达式

用() 可以将表达式分组,() 内部的表达式先进行计算

混合类型自动升级:

1 + 2.14  # 整型数与浮点型数的运算,返回类型为浮点数
3.14

2. 正负号运算符:一元运算符

语法:

+ x
- y
a = 5
b = -a
b
-5
c1 = (2 - 3j)
c2 = -c1
c2
(-2+3j)

3. 赋值运算符

z = x + y   # 将 a + b 的运算结果赋值为 c 
y += x      # 等同于y = y + x
y -= x      # 等同于y = y - x
y *= x      # 等同于y = y * x
y /= x      # 等同于y = y / x
y //= x     # 等同于y = y // x
y %= x     # 等同于y = y % x
y **= x     # 等同于y = y ** x

4. 比较运算符

比较运算符返回布尔类型的值 True/False

<  小于
<= 小于等于
>  大于
>= 大于等于
== 等于
!= 不等于(<>仅用于python2中)

语法:

左表达式 < 右表达式

实数可以比较大小,复数不能比较大小

1 < 2
True

5. 布尔运算:

  • 布尔"非"操作 not(取反)

对x进行布尔取非操作,如bool(x)为True,则返回False,否则返回True

语法:

not X   # x表示一个值
not True
False
  • 布尔"与"操作 and

优先返回假值对象(谁为假就选谁),当x的布尔值为假False时,返回x,否则返回y

语法:

x and y
  • 布尔"或"操作 or

优先返回真值对象,当x为True时,返回x,否则返回y

语法:

x or y

6. 位运算:

位运算一般只对整型数进行操作; bit(位)、byte(字节)、1byte = 2bit

运算符:

&   位与
|   位或
^   位异或
<<  左移
>>  右移
~   求反
  • & 位与
格式:表达式x & 表达式y
作用:按位操作
    1、两个对应的位为1,则结果为1
    2、两个对应的位只要有一个为0,则结果为0
10 & 12
8
0b1010
0b1100
--------
0b1000

& 运算可以用于判断给定整数奇偶数,因为奇数二进制的最后一位是 1,所以奇数 & 1,恒等于 1,
偶数二进制的最后一位是 0,所以偶数 & 1,恒等于 0。使用这种方法比 % 运算速度快

  • | 位或
格式:表达式x | 表达式y
作用:按位操作
    1、两个对应的位为0,则结果为0
    2、两个对应的位只要有一个为1,则结果为1
10 | 12
14
0b1010
0b1100
--------
0b1110
  • ^ 位异或
格式:表达式x ^ 表达式y
作用:按位操作
    1、两个对应的位不同,则结果为1
    2、两个对应的位相同,则结果为0
10 ^ 12
6
0b1010
0b1100
--------
0b0110
  • ^ 运算可以用于在不使用临时变量的情况下,交换两个数字
x, y = 2, 3
x = x ^ y
y = x ^ y
x = x ^ y

# 更简单的办法
x, y = 2, 3
x, y = y, x
  • << 左移运算:(左移几位相当于在原数上乘以几个2,在python 中不会溢出)
格式:表达式x << 整数表达式y
作用:将x的二进制,按位向左移动y位,低位补零
0b0110 << 1
12
0b0110 << 2
24
0b0110 << 3
48
  • >> 右移运算:(在不溢出的情况下,右移几位相当于在原数上除以几个2)
格式:表达式x >> 整数表达式y
作用:将x的二进制,按位向右移动y位,低位溢出丢弃
0b0110 >> 1
3
0b0110 >> 2
1
0b0110 >> 3
0
  • ~ 求反
格式:~ 表达式
说明:-1 求反 0
           0 求反 1
计算机的负数是用补码形式表示的

练习:输入一个正整数存于x内,用移位累加的方法求x的5倍是多少?(不允许用*号运算符)

x = int(input("请输入一个整数:"))
print((x << 2) + x)
请输入一个整数:1
5

7. 身份运算符

is:判断两个变量是否绑定同一个对象,当绑定同一个对象时返回True,否则返回False。
is not 的返回值与is的返回值相反

语法:

x is y
x is not y
a = 3000
b = 1000 + 2000
print(a is b)
print(a is not b)
b = a
print(a is b)
False
True
True

注:对于CPython 整数-5至256用于存于内存中,不会释放并一直重复使用

id() 函数用于获取对象内存地址

a = 3
b = 1+2
print(a is b)

print(id(3))

print(id(2+1))
True
4337966832
4337966832

4. 内置函数(2)

  • type() 函数
内置的 type() 函数可以用来查询变量所指的对象类型
  • isinstance()函数
用isinstance(变量, 数据类型),返回bool值

type() 不会认为子类是一种父类类型, isinstance() 会认为子类是一种父类类型

同名公众号: 庄AC

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值