python变量、运算符

变量

  • 变量就是可以重复使用的一个量,或者叫一个代号
  • 变量命名的规则
- 变量命名可以包含数字,大小写字母,下划线或者更多,但是我们不推荐除了前三种内容之外的符号

- 数字不可以打头

    - 4man,5for是不可以的

    - man4,for5是可以的

- 一般在python中,以下划线开头的内容具有特殊含义,不建议使用

    - 比如\_age, \_name, 理论可以,但强烈不推荐,包括但不限于一个下划线开头和两个连续下划线开头

- 大小写不一样,俗称大小写敏感

    - ForMan跟forMan不是一个变量名称

- 推荐:

    - 使用具有固定含义的英文单词或者缩写,srv=server skt=scoket, 一般以posix命名规则为主

    - 驼峰命名法

        - 名称以单词自动连接,且每个单词首字母大写

            - 大驼峰,每个单词第一个字母均大写

                - 在python中给类命名使用此法

                - MyFirstLove,IntOne

            - 小驼峰,类似大驼峰,但第一个字母小写

                - 在python中一般给普通变量或者函数命名

                - myFirstLove,intOne

            - posix写法

                - 多个单词用下划线连接

                - 单词全部小写

                - my\_first\_love, int\_one

- 保留字和关键字

    - 变量命名必须避开,不能跟关键字和保留字重复

    - class,def, break, fo

#查看关键字的方法

import keyword #引入关键字模块

#打印出系统全部关键字

print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

# 定义变量age,把18放入变量age中

age = 18

print(age)

print(18)



# 给age1, age2, age3 放入同样一个内容或值

age1 = age2 = age3 = 18

print(age1)

print(age2)

print(age3)



# 一行给多个变量赋值

age4, age5, age6 = 12, 21, 45

print(age4)

print(age5)

print(age6)

18

18

18

18

18

12

21

45

变量类型

  • 严格意义上讲,python只有一个类型
  • 标准数据一共六种
- 数字类型Numbe

- 字符串类型st

- 列表list

- 元组tuple

- 字典 Dictionary

- 集合 set

数字类型 Numbe

  • python中的数字没有大小限制

常见数字分类

  • 整数
- 没有小数部分

- 包含正数,负数,0

- 二进制

    - 只有01

    - 以0b开头的01

    - 例如:

        - 0b110

        - 0b11110

- 八进制

    - 以0o开头的 07之间的数字串

    - 例如:

        - 0o71

- 十六进制

    - 以0x组成的由 0-9,a-f构成的串

  • 浮点数
  • 科学记数法
  • 复数
#二进制定义 

a1 = 0b110

print(a1)



a2 = 0b11110

print(a2)

6

30

# 八进制的案例

a3 = 0o71

print(a3)

57

# 十六进制案例

a4 = 0xffff

print(a4)



a5 = 0x53f2

print(a5)

65535

21490

浮点数

  • 就是通俗意义上的小数
  • 常见的案例格式
- 3.14159

- 3.

- 0.4

- .4

  • 科学计数法
- 定义跟数学定义一样

- 写法就是e后面跟整数来表示10的指数

# 科学计数法

height = 184

print(height)



height = 1.84e2

print(height)

184

184.0

复数 complex

  • 与数学定义一致
  • 复数的虚部用j/J表示
  • 例如:
- 5+4j

- 4j

- (4j)

a = 4j

print(a)

4j

布尔值

  • 布尔值就是用来表示真假的值
  • 只有两个值:Ture/False
  • 在python中,布尔值可以当数字使用
- 布尔值如果当数字使用,Ture=1,False=0

- 如果数字用来当作布尔值使用,0=Fakse,其余当作Ture

# 布尔值当作数字使用



age = 18 + True

print(age)



age = 18 + False

print(age)



# 判断语句

a = -1

if a: 

    print("负数是True")

else:

    print("负数是False")

19

18

负数是True

字符串

  • 表达文字信息的内容,比如“我爱王晓静”
  • 形式上是引号引起来的一段内容
  • 引号包括
- 单引号

- 双引号

- 三引号,可以用来表示多行信息

  • 单双引号含义一致
# 字符串案例



love = "I love Ruo Chen"

print(love)



love2 = "I love Ruo Chen"

print(love2)



# 三引号可以表示多行

love3 = """

我

爱你呀

若尘

就像爱着北国的雪

"""

print(love3)



# 以下案例说明单引号只能引用一行

#love4 =  "

#我

#爱你呀

#若尘

#就像爱着北国的雪

#"

#print(love4)

I love Ruo Chen

I love Ruo Chen

爱你呀

若尘

就像爱着北国的雪

None类型

  • 表示没有,通常用来占位
  • 比如返回,用来表示返回一个空(return None)

表达式

  • 由一个或者几个数字或者变量或者运算符合成的一行代码
  • 通常返回一个结果

运算符

  • 由一个以上的值经过一系列的运算得到新值的过程就叫运算
  • 用来操作运算的符号叫运算符
  • 运算符分类
- 算数运算符

- 比较或者关系运算符

- 赋值运算符

- 逻辑运算符号

- 位运算

- 成员运算符

- 身份运算符

# 表达式案例

a = 1 + 2

算数运算符

  • 用来进行算数运算的符号
  • 通常用来表示加减乘除
  • python没有自增自减运算符
# 算数运算符案例



# 加减乘跟数学意义基本一致



a = 9 - 2

print(a)



b = 9 + 2

print(b)



c = 8 \* 2

print(c)



# python除法分为普通除法,地板除,取余



# 正常除法

# 此操作符在pyth2.x 和 3.x中有些不同

a = 9 / 2

print(a)



# 地板除,取整

a = 9 // 2

print(a)



print(a)



# 取余

a = 9 % 2

print(a)



# 除以负数的结果

# 理解这个结果参考取余的定义

# 在这里简单说一下吧,a对b取余,(a - x)/ b = y ,0,x即为所求余数。  (并不具体,可自行百度)

a = 9 % -4

print(a)



# 两个乘号就是指数

a = 7 \*\* 2

print(a)

7

11

16

4.5

4

4

1

-3

49

比较运算符

  • 对两个内容进行比较的运算符
  • 结果一定是布尔值,即 True/Flase
# 等于 ==

a = 3 == 4

print(a)



# 不等于  !=

a = 3 != 4

print(a)



# 其他的符号是

# >, >=, <, <=



print(3 >= 8)



print("ruochen" > "q")

False

True

False

True

赋值运算符

  • 把一个值放到变量里边去
# 赋值符号 =

a = 9



# 复杂赋值

a = b = 9

a,b = 1,2



# 赋值的缩写

cc = 0

cc = cc + 3

print(cc)



# 注意下面符号仅仅是一个缩写

cc += 3   # cc = cc + 3

print(cc)



## 所有数学运算符都可以缩写

# -=,\*=/=//=,%=,\*\*=,都是缩写形式

# python里面没有 ++--

3

6

逻辑运算符

  • 对布尔类型变量或者值进行运算的符号
  • and:逻辑与
  • or:逻辑或
  • not:逻辑非
  • python里面的逻辑运算没有异或
  • 运算规则:
- and看作乘法,or看作加法

- Ture看作1,False看作0

- 则逻辑运算能转换成整数数学运算

- 最后结果如果是0则为False,否则为Ture

  • 逻辑运算的短路问题
- 逻辑运算式,按照运算顺序计算,一旦能够整个式子未来的值,则不再进行计算,直接返回

# 逻辑表达举例

a = True

b = True

c = False



aa = a and b # 左边表达式可以转换成 1\*1

print(aa)



bb = a and c

print(bb)



cc = 100 and c

print(cc)



# 布尔值跟数字的转换

# 数字转换成布尔值的时候,0 = False,其余是True

# 布尔值转换成数字的时候: True = 1,False = 0

True

False

False

# 短路问题案例1

a = True

b = True

c = False



aa = a or b and (a and b)   # 转换成算数 1 + ......

print(aa)

True

# 短路问题案例2

def a():

    print('a')

    return True



def b():

    print('b')

    return True



aaa = a() and b()

print("AAAAAA")



# 字符串乘以数字,表示对这个字符串重复多少遍

print("\*" \* 20)



bbb = a() or b()    # 短路发生

print("BBBBBB")

a

b

AAAAAA

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

a

BBBBBB

成员运算符

  • 用来检测一个值或者变量是否在某个集合里面
  • in:成员运算符
  • not in:不在里面的意思
# in 案例



# list

L = [1,2,3,4,5]

a = 6

aa = a in L

print(aa)



# a 没有在L里面

aa = a not in L

print(aa)

False

True

身份运算符

  • 用来确定两个变量是否是同一个变量
  • is:变量运算符
  • is not:不是
  • 对整数N \in -5,256,解释器对他们做了单独的处理,放进了固定的内存中,不因你每次运行而变化。
# 身份运算符定义

a = 1

b = 1000000



aa = a is b

print(aa)



# a,b仅仅是值一样,并不代表a,b是一个变量

a = 1000000

b = 1000000



aa = a is b

print(aa)



# 正确理解下面的案例跟上面案例的不同

# a,b仅仅是值一样,并不代表a,b是一个变量

a = 5

b = 5



aa = a is b

print(aa)

False

False

True

运算符优先级问题

  • 小括号具有最高优先级
  \*\* 指数 (最高优先级)

  ~ + - 按位翻转,一元加号和减号(最后两个的方法名为 +@ 和 -@)

  \* / % // 乘,除, 取模和取整数 

  + - 加法减法

  >> <<   右移,左移运算符

  &   位‘AND

  ^ | 位运算符

  <= < > >=   比较运算符

  <> == !=    等于运算符

  = %= /= //= -= += \*= \*\*=     赋值运算符

  is  is not   身份运算符

  in  not in   成员运算符

  not or and   逻辑运算符

正文完