day3-变量与运算符总结

2018-11-07  本文已影响0人  71a5d7e107e5

02-变量

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

1.声明变量(定义)

语法:
变量名 = 值
说明:
变量名 - 要求:标识符,不能是关键字
规范:a.遵守PEP8命名规范(名字所有字母小写,如果多个单词组成,单词之间用下划线)
b.见名知义
= - 赋值符号
值 - 可以是任何有结果的表达式(17,变量,17+5,调用函数)

"""

age = 18
name = '小'
#使用变量就是使用保存的值
# 变量必须先声明再使用
print(age)

同时声明一个变量,并赋一样的值

num1 = num2 = 20
print(num1,num2)

同时声明多个变量,并赋值(个数一致)

x,y,z = 34,6,12.3
print(x,y,z)

num4 = 10
num4 = 48
print(num4)#后赋的值覆盖先赋的值
num4 = 'dbg' #同一变量可以赋不同类型的值

"""

2.声明变量和赋值本质

结论:python中变量存的都是数据在内存的地址,内存地址大小一样
赋值实际上是将地址赋值给变量
使用变量时,是使用变量对应地址的值

c中声明变量:
int num = 8

python中声明变量
num = 37

"""

"""

3.变量的三要素:值、地址和类型

值:变量中地址对应的值
地址:变量中存储的地址
类型:变量中地址对应的值得类型
"""

name1 = '小明'
name2 = name1

print(name2)
print(id(name1),id(name2))  #id(变量) - 获取变量地址
print(type(name1))

"""
python中的运算符:数学、比较、逻辑、赋值、位运算符
"""

03-运算符

1.数学运算符:+,-,*,/, %, //, **

           加  减 乘 除 取余 取整  幂
print(10+12)
print(10-24)

a.% - 取余
"""
1.获取一个数各位置的值
2.判断是否整除
"""
print(5%3) #2
获取一个数的个位数

num = 354
print(num % 10) #4

b.// - 商取整

print(5//2)
print(3.6//2)

num = 364
print(num//100)

c.** - 幂运算
"""
x**y - x的y次方
"""

print(2**10)  #2的10次方
print(9**0.5) #9开方
print(8**(1/3)) #8开三次方

2.比较运算符: >,<,==,!=,>=,<=

"""
所有结果都是布尔值
"""

逻辑运算符:and,or,not
"""
逻辑运算符运算对象是布尔值,结果也是布尔值
a.and(逻辑与运算)
值1 and 值2:判断是否为真
值1值2都位True,结果为True。只要有False
结果就为False
"""
逻辑与运算:需要多个条件同时满足,就用and连接

grade = 99 #成绩
score = 80 #分数
# 要求成绩大于90并且表现分大于95,才能获得奖学金
print(grade > 90 and score > 95)

"""
b. or(逻辑或运算)
值1 or 值2: 值1和值2中有一个为真,结果就为真,
两个都是假,结果才为假
"""
逻辑或运算:当需要多个条件中至少能有一个条件满足,就用or

grade = 99 #成绩
score = 80 #分数
# 要求要么成绩大于90要么表现分大于95,就能获得奖学金
print(grade > 90 or score > 95)

"""
c. not(逻辑非运算)
not 值:取反,值为真结果为假,值为假结果为真
用来对某个条件进行否定
"""

04-赋值运算和位运算

1.赋值运算符:=,+=,-=,=,/=,%=,//=,*=

"""
赋值符号左边必须是变量;组合的赋值运算符左边的变量必须已经赋值;
所有赋值运算符最终都会进行赋值操作
"""
a.= - 直接赋值
num = 100
b.+=,-=,=,/=,%=,//=,*=
"""
变量 += 值--> 相当于 变量 = 变量 + 值
变量 -= 值--> 相当于 变量 = 变量 - 值
"""

num1 = 1
num1 += 10  #num1=num1+10
print(num1)

num1 *= 10  #num1=num1*10
print(num1)

num2 = 3
num2 **= 2
print(num2)
num2 //= 2
print(num2)

3.运算符的优先级

"""
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
优先级高的先算,有括号先算括号

数学运算符中: ** > *,/,%,// > +,-
"""

num = 23 + 5 > 6 and 8 < 5
print(num)
num = 1+2*3**2
print(num)

4.位运算:&(与),|(或),^(异或),~(取反)

<<(左移),>>(右移)
"""
位运算是针对二进制中的每一位进行的操作
a.数字1 & 数字2 :二进制每一位进行与运算
11010 + 00111 = 00010

与运算的应用:判断一个数的奇偶性(最优解答)
将数字和1与,如果结果是1,则这个数是奇数
如果结果是0,则这个数是偶数
"""

print(3 & 2)
print(3 & -2)
print( 4 & 1,6 & 1,8 & 1) #0,0,0
print(7 & 1,5 & 1,9 & 1)  #1,1,1

"""
b.数字1 | 数字2 - 只要有一个为1,结果为1
1101 | 1010 = 1111

3 | 20
000011 | 010100 = 010111
-3 | 20
111101(补) | 010100 = 111101(补)
"""

print(3 | 20)
print(-3 | 20)

"""
c.按位取反
~ 数字 - 将每一位取反,1变0,0变1
010 -> 101(补) = 100(反)= 111
"""
print(~2)
"""
d.按位异或
数字1 ^ 数字2 - 相同为0,不同为1

11 ^ 2
01011 ^ 00010 = 01001
"""

"""
e.左移
数字1 << n(位数) - 符号位不变,将每一位向左移n位,后面补n个0
左移一位数值乘2,左移n位数值乘2的n次方
10 << 1
01010 << 1 = 010100 = 20
""

print(10 << 1) #20
print(-10 << 1) #-20

"""
f.右移
数字1 >> n(位数) 将二进制数向右移n位(后面删除n位)
相当于数字整除2的n次方
"""
print(-20 >> 2)

05-认识字符串

"""

1.什么是字符串(str)

字符串是python中一种常用的有序但是不可变的容器类的数据类型
可以同时存储多个字符。属于序列范畴

字面量:使用单引号或双引号将任意字符括起来,就是字符串常量
'dsfifji3834'

字符:字符串中的每一个单元。python中只有字符的概念,没有字符类型

"""
"""

2.字符串中的内容

a.普通字符:数字字符、字母、普通符号、中文、日文等
'cwewueewi2349'

b.转义字符:通过反斜杠将一些字符转成又特殊功能或特殊意义的字符
\n - 换行
\t - 制表符(tab)
' - 表示一个普通单引号
" - 表示一个普通双引号
\ - 表示一个\

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

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

上一篇下一篇

猜你喜欢

热点阅读