day3-变量和运算符

1.变量

变量就是在程序中用来保存数据的容器

1.声明变量(定义变量) python中没有严格意义上的声明(给变量赋值就是声明变量)
语法:
变量名=值

说明:
变量名 -要求:标识符,不能是关键字
规范:
1.遵守PEP8的命名规范(名字的所有字母都小写,如果由多个单词组成,单词之间用下划线组成)
2.见名知义
student_name
同时给多个变量赋值

num1=num2=num3=10
print(num1,num2,num3)

x,y,z=10,20,30
print(x,y,z)

num4=100
num4=200
print(num4)   # 给同一个变量赋值,后赋的值会覆盖先赋的值
num4='abc'
print(num4)   # 同一个变量可以存储不同类型的值

运行:


image.png

2.声明变量和给变量赋值的本质
c语言中声明变量:
int num=10
num=100 #只能是给定的类型,并且由类型确定内存空间大小,超出则会溢出

python中数据需要多大空间,就提供多大空间
python中所有的变量存的都是数据在内存中的地址。内存地址的大小一样
用一个变量给另一个变量赋值,实质就是将变量中的地址赋给另外一个变量

3.变量的三要素:值、地址、类型
值:变量中存的地址对应的值
地址:变量中存储的地址
类型:变量中存的地址对应的值的类型

name1='小明'
name2=name1
print(name1)   #打印变量中地址对应的值
print(id(name1),id(name2))   #id(变量)  获取变量中存储的地址(每次打印地址都在变化)

运行:


image.png

2.运算符

python中的运算符:数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符
二进制运算都要用他的的补码运算
1.数学运算符:+,-,,/,%,//,*
%:取余(求余数)
获取一个数的最低位或者几位的值
判断一个数是否能被另一个数整除 num1 % num2 ==0

num=123456
print(num % 10)
//:整除(获取商的整数部分)  如果商是负的小数(小数部分大于0)  结果是整数部分减一
print(5//2)
print(3.9//3)

num=289
print(num//100)  #取num的百位上的值
**:幂运算
num=2**3
num1=3**3
print(num,num1)
print(9**0.5,8**(1/3))  #开次方

运行:


image.png

2.比较运算符:>,<,==,!=,>=,<=
比较运算符的运算结果都是布尔值

== 判断两个数据苏值是否相等
is 判断地址是否相等


image.png

image.png

3.逻辑运算符:and,or,not(运算对象是布尔(不是布尔也可以只是没有意义),结果也是布尔)
and(逻辑与运算):
条件1 and 条件2 :同时为真:True,有一个为假:False

or(逻辑或运算):
条件1 or 条件2 :有一个为真:True,同时为假:False

not(逻辑非运算):
not 条件:对结果取反 True->False False->True

age=21
print(not age<18)

运行:


image.png

4.赋值运算符:=,+=,-+,=,/+,%=,//=,*=
所有的赋值运算符的左边必须是变量;组合的赋值运算符的左边的变量必须已经赋值
a += b ---> a=a+b
a -= b ---> a=a-b
...

num =10
num -=4
print(num)

num **=2
print(num)

num //=5
print(num)

运行:


image.png

5.运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
优先级高的先算。如果有括号,先算括号里面的
数学运算符中:** > *,/,//,% > +,-

6.位运算:&(按位与),|(按位或),^(按位异或),~(按位取反),<<(左移),>>(右移)

  • 位运算是针对二进制中的每一位进行的相关操作
    按位与(&):数字1 & 数字2 -> 二进制的每一位进行与运算,如果对应位都为1 则结果为1;否则为0
    11010 & 00111 = 00010
    与运算的应用:判断一个数的奇偶性(最优解答)
    将数字与1进行按位与运算,结果为1 则为奇数;结果为0,则为偶数
    按位或(|);数字1 | 数字2 -> 如果有一位是1结果就是1,否则为0
    3(补码)=0011
    2(补码)=0010
    -3(补码)=111101
    20(补码)=010100
print(3 & 2)
print(-3 | 20)

运行:


image.png

按位异或(^)
数字1 ^ 数字2 对应位如果相同就为0,否则为1

按位取反( ~ ):~ 数字 -> 将每一位取反 (按位取反的快捷运算公式 -(x+1))
010补码 -> 101(补码) =100(反码) =111

print(~2)

运行:


image.png

左移(<<)
数字1 << 位数 相当于 数字1 * 2**n 将指定的数字的每一位向左移指定的位数,空出的位置用0填满(负数左移是他的正数左移的相反数)
01010

print(10 << 2)
print(-10 << 2)

运行:


image.png

右移(>>) 右移部分去除(负数右移是他的正数右移的相反数)
数字1 >> n 相当于 数字1//(2**n)
01010 >> 1 -> 0101 = 5

print(10 >> 1)

运行:


image.png

3.字符串

1.什么是字符串(str)
字符串是python中一种常用有序但是不可变的容器类的数据类型。属于序列

字面量:使用单引号或者双引号将任意字符括起来,就是字符串常量
字符就是指字符串中的每一个单元.python中只有字符概念没有字符类型

2.字符串中的内容
普通字符:包含数字,字母,普通符号,中文,韩文等

转义字符:通过反斜杠将一些字符转换成有特殊功能或者特殊意义的字符
\n 换行
' 表示一个单引号

注意:一个转义字符代表一个字符

阻止转义:在字符串最前面加r/R,可以阻止转义

print(r'abc\n123')

运行:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容