Python基础语法

python基础语法


语言分类

  • 低级语言
    面向机器的语言,包括机器语言、汇编语言
    不同的机器不能通用,不同的机器需要不同的机器指令或者汇编程序
  • 高级语言
    接近自然语言和数学语言的计算机语言
    高级语言首先要书写源程序,通过编译程序把源程序转换成机器指令的程序
  • 1954年正式发布的Fortran语言是最早的高级语言,本意是公式翻译

基础语法

  • 注释—— # 标注的文本
  • 数字
  1. 整数
    Python3开始不区分long和int,long被重命名为int,所以只有int了
    进制0xa、0o10、0b10
    bool,2个值True、False
  2. 浮点数
    1.2、3.1415、-0.12,1.46e9等价于1.46*109
    本质上使用了C语言的double类型
  3. 复数,1+2j
  • 字符串
    使用 ’ " 单双引号引用的字符的序列
    ‘’'和""" 单双三引号,可以跨行、可以在其中自由的使用单双引号
    r前缀:在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
    f前缀:3.6版本开始,新增f前缀,格式化字符串

  • 转义序列
    \ \t \r \n ’ "
    前缀r,把里面的所有字符当普通字符对待

  • 缩进
    未使用C等语言的花括号,而是采用缩进的方式表示层次关系
    约定使用4个空格缩进

  • 续行
    在行尾使用
    如果使用各种括号,认为括号内是一个整体,内部跨行不用 \

  • 标识符

  1. 一个名字,用来指代一个值
  2. 只能是字母、下划线和数字
  3. 只能以字母或下划线开头
  4. 不能是python的关键字,例如def、class就不能作为标识符
  5. Python是大小写敏感的
    约定:
    不允许使用中文
    不要使用歧义单词,例如class_
    在python中不要随便使用下划线开头的标识符
  • 常量
    一旦赋值就不能改变值的标识符
    python中无法定义常量
  • 字面常量
    一个单独的量,例如 12、“abc” 、‘2341356514.03e-9’
  • 变量
    赋值后,可以改变值的标识符

运算符Operator

  • 算数运算符
    (+ - * / % ** )
    自然除/结果是浮点数,整除//。注:2.x中/和//都是整除
    位运算符
    & | ~ ^ << >>
    常用方式:乘除2的倍数,32 // 8相当于 32 >> 3

  • 原码
    5 => 0b101,1 => 0b1 ,-1 => -0b1, bin(-1)

  • 反码
    正数的反码与原码相同;负数的反码符号位不变其余按位取反

  • 补码
    正数的补码与原码相同;负数的补码符号位不变其余按位取反后+1

  • 负数表示法
    早期数字电路的CPU中的运算器实现了加法器,但是没有减法器,减法要转换成加法
    负数在计算机中使用补码存储,-1的补码为1111 1111
    5-1 => 5+(-1)直觉上是0b101-0b1,其实计算机中是0b101+0b11111111,溢出位舍弃

运算符

  • 比较运算符
    == != > < >= <=
    返回一个bool值
    1 < ‘1’ 1 == ‘1’
    链式比较操作符
    4>3>2 4>mynumber >=1

  • 逻辑运算符
    与或非 and or not

  • 短路运算符
    and 如果第一个表达式为False,后面就没有必要计算了,这个逻辑表达式一定是False
    or 如果第一个表达式True,后面没有必要计算了,这个逻辑表达式一定是True

  • 赋值运算符
    a = min(3, 5)
    += -= *= /= %= 等
    x = y = z = 10

  • 成员运算符
    in、not in

  • 身份运算符
    is 、is not

运算符优先级(由高到低)

  • 算数运算符 > 位运算符> 身份运算符 > 成员运算符 > 逻辑运算符
    单目 > 双目
    记不住,用括号
    长表达式,多用括号,易懂、易读

if 判断语句

  • if语句

if condition:
       代码块
condition必须是一个bool类型,这个地方有一个隐式转换bool(condition)
if 1<2: # if True:
      print(‘1 less than 2’)
代码块
      类似于if语句的冒号后面的就是一个语句块
      在if、for、def、class等关键字后使用代码块

while循环

  • 语法
    while condition:
                block
    当条件满足即condition为True,进入循环体,执行block
  • 举例

flag=10
while flag:
        print(flag)
       flag -= 1

for循环

  • 语法
    for element in iterable:
                   block
    当 可迭代对象 中有元素可以迭代,进入循环体,执行block
  • range函数
    举例:打印1~10

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

循环 continue语句

  • 中断当前循环的当次执行,继续下一次循环
    举例:计算10以内的偶数(for循环)

for i in range(10):
        if not i%2:
            print(i)

循环 break语句

  • 终止当前循环
    举例:计算1000以内的正整数被7整除的前20个数(for循环)

count = 1
for i in range(7, 1000, 7):
      print(i)
      if count == 20:
          break
      count += 1

循环 continue、break语句

  • 总结
    continue和break是循环的控制语句,只影响当前循环,包括while、for循环
    如果循环嵌套, continue和break也只影响语句所在的那一层循环
    continue和break 不是跳出语句块,所以 if cond: break 不是跳出if,而是终止if外的break所
    在的循环

循环 else子句

  • 语法

while condition:
         block
else:
         block

如果循环正常的执行结束,就执行else子句,即使循环都没有进去
如果使用break终止,else子句不会执行

你可能感兴趣的:(Python基础语法)