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, for
#查看关键字的方法
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只有一个类型
  • 标准数据一共六种

    • 数字类型Number
    • 字符串类型str
    • 列表list
    • 元组tuple
    • 字典 Dictionary
    • 集合 set

数字类型 Number

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

常见数字分类

  • 整数

    • 没有小数部分
    • 包含正数,负数,0
    • 二进制

      • 只有0,1
      • 以0b开头的01串
      • 例如:

        • 0b110
        • 0b11110
    • 八进制

      • 以0o开头的 0到7之间的数字串
      • 例如:

        • 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   逻辑运算符
上一篇:Certbot免费https证书


下一篇:第四天:创建型模式--原型模式