python

变量

定义

给一个内容绑定了一个标签名(变量不是类似于一种“盒子”)

通过=来定义变量,变量名=内容

动态类型,不需要规定变量的类型(可以通过 变量名:类型 = 内容 来进行标注)

变量名

  • 只能包含字母,数字,下划线,不能有空格和其他符号。
  • 只能以字母,下划线开头,不能以数字开头,而且大小写敏感。
  • 不能用关键字(例如 if def等)作为变量名,不推荐使用内置函数名作为变量名
  • 清晰明确,风格统一(便于编译和修改)
  • 全大写一般表示常量,不建议使用双下划线开头或者开头结尾。

数据类型

数字与运算

  • 1是整数,1.是浮点数

整数与浮点数之间转换

  • int(…):向0舍入
  • round():向偶舍入(四舍六入五凑偶,可以当成四舍五入)
  • math.floor(…),math.ceil(…),下取整,上取整(需要import math函数)

运算

  • 加减乘除正常,左右有整数结果就是整数,有浮点数结果就是浮点数
  • /除法,结果为浮点数(即使可以整除)
  • //整除,结果是整数,向下取整
  • %取模,a%b = a − (⌊a/b⌋) ⋅ b  (和 C 的行为不一致)
  • pow(a, b, mod) 的用法:
    • 计算幂次并取模:mod 参数提供且不为 -1 时,pow(a, b, mod) 会计算 ab (mod  mod)
    • 计算乘法逆元:mod 参数为 -1 时,pow(a, b, -1) (通常 b 在此场景下代表模数,即计算 ab 的乘法逆元) 会计算乘法逆元。这通常意味着寻找一个整数 x 使得 ax ≡ 1 (mod  b)
  • 更多的运算通过math,numpy,scipy等包进行计算

复数类型

  • python中内置了复数类型,1+2j形式就表示一个复数,其中j即虚数单位i
  • 或者使用complex(实部,虚部)形式定义复数
  • 可以进行复数的加减乘除
  • 属性与方法 :
    • c.real:实部
    • c.imag:虚部
    • conjugate():返回共轭复数

字符串

引号

  • 单引号 '...'、双引号 "..."、三引号 '''...''' / """..."""(可以换行)

特殊字符

  • \n 换行,\t 制表符,\r 回车
  • \\ 单反斜杠,\" 双引号,\/ 斜杠(只有一个会出问题)
  • ……

前缀

  • r-string: r"...":引号中不进行转义,即一个 \ 就代表斜杠本身
  • f-string: f"...":格式化字符串
  • b-string: b"...":将字符串转为 bytes,只能包含 ASCII 字符

常用方法

  • 拼接:直接将字符串“相加”
  • "...".upper() / "...".lower():转为全大写、全小写
  • "...".title():单词首字母大写
  • "...".strip():删除字符串首尾空白(包含空格和制表符)
  • "...".lstrip() / "...".rstrip():删除左、右端空白
  • "...".split(c):根据字符 c 来拆分字符串得到列表,默认拆分空白