Python基础

冯诺依曼体系架构

这里写图片描述

  • CPU有运算器和控制器组成
  • 运算器,完成各种算术运算、逻辑运算、数据传输等数据加工处理
  • 控制器,控制程序的执行
  • 存储器,用于记忆程序和数据,例如内存
  • 输入设备, 将数据或者程序输入到计算机中,例如键盘,鼠标
  • 输出设备,将数据或程序的处理结果展示给用户,例如显示器、打印机等
  • CPU中还有寄存器和多级缓存Cache

编程基础

  • 计算机语言
    • 人与计算机中间交互的语言
  • 机器语言
    • 一定位数组成二进制的0和1的序列,称为机器指令。机器指令的集合就是机器语言
    • 与自然语言差异太大,难学、难懂、难写、难记、难查错
  • 汇编语言
    • 用一些助记符号代替机器指令,称为汇编语言。ADD A,B 指的是将寄存器A的数与寄存器B的数相加得到的数放到寄存器A中
    • 汇编语言写好的程序需要汇编程序转化成机器指令
    • 汇编语言只是稍微好记一些,可以认为就是机器指令对应的助记符。只是符号本身接近自然语言

语言分类

  • 低级语言
    • 面向机器的语言,包括机器语言、汇编语言
    • 不同的机器不能通用,不同的机器需要不同的机器指令或者汇编程序
  • 高级语言
    • 接近自然语言和数学语言的计算机语言
    • 高级语言首先要书写源程序,通过编译程序把源程序转化成机器指令的程序
    • 1954年正式发布的Fortran语言是最早的高级语言,本意是公式翻译
    • 人们只需要关心怎么书写源程序,针对不同机器的编译的事交给编译机器关心处理
  • 编译语言,把源代码转换成目标机器的CPU指令
  • 解释语言,解释后转换成字节码,运行在虚拟机上,解释器执行中间代码

Python基础语法

  • 注释——-#标注的文本
  • 数字
    • 整数,不区分long和int
      • 进制0xa、0o10、0b10
      • bool,True、Flase
    • 浮点数
      • 1.2、3.1415、-0.12、1.46e9=1.46*10^9
    • 复数 1+2j
  • 字符串
    • 使用’ ” 单双引号引用的字符的序列
    • ”’和”“”单双三引号,可以跨行、可以在其中自由的使用单双引号
    • 在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
  • 转移序列
    • \ \t \r \n \’ \”
    • 前缀r,把里面的所有字符当普通字符对待
  • 缩进
    • 采用缩进的方式表示层次关系,约定使用4个空格缩进
  • 续行
    • 在行尾使用\
    • 如果使用各种括号,认为括号内是一个整体,内部跨行不用 \
  • 标识符
    • 一个名字,用来指代一个值
    • 只能用字母、下划线和数字
    • 只能以字母或者下划线开头
    • 不能是Python的关键字
    • Python是大小写敏感的
  • 常量
    • 一旦赋值就不能改变值的标识符
    • Python中无法定义常量
  • 字面常量
    • 一个单独的量,例如 12、‘abc’
  • 变量
    • 赋值后,可以改变值的标识符

Python的语言类型

  • Python是动态语言、强类型语言
  • 静态编译语言
    • 实现声明变量类型,类型不能再改变
    • 编译时检查
  • 动态编译语言
    • 不用事先声明类型,随时可以赋值为其它类型
    • 编译时不知道是什么类型,很难判断
  • 强类型语言
    • 不通类型之间操作,必须先强制类型转换为同一类型
  • 弱类型语言
    • 不同类型之间可以操作,自动隐式转换。

运算符Operator

  • 算术运算符
+ - *  / % **
  • 自然除 / 结果是浮点数
  • 位运算符
    这里写图片描述
    • & | ~ ^ << >>
    • 常用方式:乘除2 的倍数,32//4相当于32>>2
    • 12, 0xc, 0o14, 0b110
~12等于多少,为什么
12源码    0000 1100
12反码    0000 1100
12补码    0000 1100
12按位取反    1111 0011
1111 0011在计算机中表示负数
符号位不变,按位取反 加 1   1000 1101
-13
  • 运算符
    • 赋值运算符
      • a = min(3,5)
      • += -+ *= /= %=等
      • x = y = z = 10
    • 成员运算符
      • in、not in
    • 身份运算符
      • is 、 is not
  • 运算符优先级
    • 算数运算符>位运算符>身份运算符>成员运算符>逻辑运算符
    • 善用括号,提升易读性

表达式Expression

  • 由数字、符号、括号、变量等的组合
    • 算数表达式
    • 逻辑表达式
    • 赋值表达式
      • python中,赋值既定义,如果一个变量已经定义,赋值相当于重新定义

内存管理

  • 引用计数
  • 当引用计数为0,它就可以被垃圾回收
  • 垃圾回收GC

程序控制

  • 顺序
    • 按照先后顺序一条条执行
  • 分支
    • 根据不同情况判断,条件满足执行某条件下的语句
  • 循环
    • 条件满足就重复执行,不满足就不执行或不再执行

单分支结构

  • if语句
if condition:
    代码块
    ##condition必须是一个bool类型
if 1 < 2:
    print("1 less than 2")
  • 代码块
    • 类似于if语句的冒号后面的就是一个语句块
    • 在if、for、def、class等
  • False等价布尔值,相当于bool(value)
    • 空集合
      • 空字符串
      • 空列表
      • 空元组
      • 空字典
    • None对象
    • 0

多分值结构

if...elif...else语句
    if condition1:
        代码块1
    elif condition2:
        代码块2
    elif condition3:
        代码块3
    ......
    else:
        代码块
  • 举例
    a = 5
    if a < 0:
        print("negative")
    elif a == 0:
        print("zero")
    else:
        print("positive")

分支嵌套

  • 举例
score = 80
if score < 0:
    print("wrong")
else:
    if scoree == 0:
        print('egg')
    elif score <= 100:
        print('right')
    else:
        print('too big')
  • 嵌套结构,可以是分支,循环的嵌套
  • 可以相互嵌套多层

循环–while

  • 语法
while condition:
    block

当条件满足即Conditon为True,进入循环体,执行block
  • range函数
  • 举例:打印1~10
for i in range(10):
    print(i+1)

循环 continue语句

  • 中断当前循环的当前执行,继续下一次循环
  • 举例:计算10以内的偶数(for循环)
for i in range(10):
    if i//2 != 0:
        continue
    else:
        print(i)

循环 break语句

  • 终止当前循环
  • 举例:计算1000以内的被7整除的 前20个数(for循环)
count = 0
for i in range(7,1000,7):
    print(i)
    count += 1
    if count >= 20:
        break

循环 continux、break语句

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

循环 else子句

  • 语法
while condition:
    block
else:
    block
for elemrnt in iteratable:
    block
else:
    block
  • 如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句就不会执行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值