python数字和运算符空格_Python基础--变量与运算符

变量与运算符

1. 初识标准输出函数:

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

要打印的东西 1

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

2. 变量:

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

变量名的命名方法:

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

变量名必须是一个标识符

变量名必须为字母或下划线开头,后跟字母或下划线或数字

不能用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值