官方文档

  • https://docs.python.org/zh-cn/

    环境安装

  • python3.9

  • pycharm

    命令

  • python3 -V

  • python3 test.py
  • rpel

    • print(‘hello world’)
    • exit()
    • quit()

      基础语法

  • 注释

    • 开头

    • ‘’’ 这里是注释 ‘’’
    • “”” 这里也是注释 “””
  • 变量定义
    • a=1
    • b=2
    • a,b =1,2
  • 变量值交换
    • a,b = b,a
  • 获取对象内存地址
    • id()
  • pass 不起作用,只是代码占位,通常用于todo
  • input(tips) 获取用户输入
  • quit() /exit()
  • print
    • print() # 空行
    • print(‘ ‘ , end=” “) # 结尾符号是空格
  • range

    • range(0,10)
    • range(9,0,-1) # 步长是-1,倒序

      数据类型

      检测数据类型

  • type(var)

    字符串str

  • ‘a’

  • “a”
  • 多行字符串 ‘’’ 这里是多行字符串,会保留换行等格式 ‘’’ ,直接使用就是注释,被变量接收则是多行字符串
  • 如果字符串中有 \n \t 等符号,直接使用引号print时会解释符号,如果需要字面格式可使用r修饰,如下
  • r”这里就不会有换行了\n,试试看吧”
  • 字符串拼接时如果有变量可以用{} 直接引用并用f 修饰(format),类似’this is {var} string’.format(var)
  • f”this is {var} string “

    数字类型

  • int

    • 521
    • -111
    • 0x10 #十六进制
  • float
    • 3.14
  • complex

    • 复数

      布尔类型bool

  • True

  • False

    列表类型list

  • l = [ element1 , element2 , e3 ]

  • l[2]
  • l[-1]

    元祖tuple

  • 不可变的list

  • vart = (e1, e2 , e3)
  • vart = e1,e2,e3 # 不同于多个变量定义的前面会有多个变量接收,如果只有一个变量接收多个值就是tuple
  • vart[2]
  • 区别list

    • () 定义区别 [] 定义
    • tuple 元素的值不可变 区别 list元素的值可变

      字典dict

  • vard = { ‘key’: ‘val’ , }

    集合set

  • 无序且不重复

  • vars = { 1, 2, 3, 5, }
  • vars = set(‘1235’)
  • 定义空集合只能使用set(), {}会优先被处理成dict
  • 1 in vars # True
  • 常用于运算交集、并集、差集、对称集合

    1. s1 = {1, 2, 3, 'a', 'b'}
    2. s2 = {1, 22, 'a', 'bb'}
    3. print(s1 & s2) # 交集 {1, 'a'}
    4. print(s1 | s2) # 并集 {1, 2, 3, 'a', 'bb', 22, 'b'}
    5. print(s1 - s2) # 差集 {2, 3, 'b'}
    6. print(s1 ^ s2) # 对称集合,并集后去除交集的元素 {2, 3, 'b', 22, 'bb'}

    特殊类型

    字节bytes

  • bs=b’00010001’

  • type(bs) #

    区域range

  • ra= range(0,10)

  • type(ra) #

    数据类型转换

    自动转换

  • 123 + True # 124

  • 两个不同类型的值运算时,结果会向更高精度的类型进行转换
  • 精度优先级:布尔 => 整型 => 浮点 => 复数

    强制转换

  • str()

  • int()
  • float()
  • bool()
  • list()
  • tuple()
  • dict()
    • 列表可以转换为字典,要求列表是个二维列表,且每个元素是只有两个元素的列表
    • n = [[‘a’,1] , [‘b’,2] , [‘c’,3] ]
    • 元祖可以转换为字典,要求元祖是个二维元祖,且每个元素是只有两个元素的元祖
    • n = ((‘a’,1) , (‘b’,2 ) , (‘c’,3) )
  • set()

    运算符

    算术运算符

  • +

  • -
  • *
  • /
  • %
  • ** 幂运算
  • // 地板除 ,向下取接近除数的整数 9//2 = 4

    字符串运算符

  • 字符串 + 字符串 是字符串的拼接

  • 字符串 + 数字 报错
  • 字符串 * int 是字符串重复多少次的拼接

    赋值运算符

  • =

  • +=
  • -=
  • *=
  • /=
  • %=
  • **=
  • //=

    比较运算符

  • ==

  • !=
  • >
  • <
  • =

  • <=

  • 逻辑运算符

  • and

  • or
  • not

    位运算符

  • 进制转换

    • 十进制数字转为二进制 bin()
    • 任意进制转为十进制 int()
  • &
  • |
  • ~ 按位取反
  • ^ 按位异或
  • << 按位左移
  • 按位右移

    其他运算符

  • 成员运算符

    • in
    • not in
  • 身份运算符
    • is 判断两个变量引用的对象是否是同一个, ==是判断值是否相等
    • is not

      流程控制

      分支

      1. if score >=90:
      2. print('优')
      3. elif score>=70:
      4. print('良')
      5. elif score>=60:
      6. print('中')
      7. else:
      8. print('差')

      循环

      ```python num=1 while num <=10: print(num) num+=1

vars = ‘123456789’ for i in vars: print(i)

for i in range(1,10): print(i)

break

continue

pass

```