Python基础

Python基础

冯诺依曼体系架构

  • CPU由运算器和控制器组成
  • 运算器
  • 控制器
  • 存储器
  • 输入设备
  • 输出设备
  • CPU中还有寄存器和多级缓存Cache

这里写图片描述

python的语言类型:动态语言、强类型语言
这里写图片描述

  • 动静态:
    1. 静态:声明变量类型,定义后无法修改
    2. 动态:不用声明变量类型,随时赋值即可改变类型
  • 强弱型
    1. 强类:不同类型间操作必须先强制转换为同一类型
    2. 弱类:不同类型间操作,自动隐式转换

基础语法

  • 注释
#
  • 数字

    1. 整数,不分longint。进制。bool型TrueFalse
    2. 浮点数
    3. 复数
  • 字符串

    1. 使用单双引号引用的字符的序列
    2. 单双三引号可跨行
    3. 字符串前加rR,表示不做特殊处理
  • 转义序列

    1. \\ \t \r \n \' \''
    2. 前缀rR,把里边所有字符当普通字符对待
  • 缩进

    1. 用缩进的方式表示层级关系
    2. 约定使用4个空格
  • 续行

    1. 行尾使用\
    2. 括号()内为一个整体,内部跨行不用\
  • 标识符

    1. 一个名字代指一个值
    2. 只能是字母、数字、下划线组成
    3. 不能以数字开头
    4. 不能是python内置的关键字,如defclass
    5. 严格区分大小写
    6. 约定:不使用中文;不使用歧义词,如class;不使用下划线开头的标识符
  • 常量

    1. 赋值后无法改变值的标识符
    2. python中无法定义常量
  • 字面常量:一个单独的量,如123'abc'

  • 变量:赋值后可改变值的标识符

运算符

  • 算术运算符

    1. + - * / % **
    2. /为自然除,结果为浮点数
    3. //为整除
  • 位运算符
    & | ~ ^ << >>

  • 比较运算符

    1. == != > < >= <=
    2. 返回一个bool值
  • 逻辑运算符

    1. 与或非 and or not
    2. 短路运算符:and 若第一个表达式为False,则结果为Falseor 若第一个表达式为True,则结果为True
  • 赋值运算符

    1. a = 1.23
    2. x = y = z = 0
    3. += -= *= /= %=
  • 成员运算符:

    1. in
    2. not in
  • 身份运算符:

    1. is
    2. is not
  • 运算符优先级

    1. 算术运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符
    2. 括号优先级最高

原码、反码、补码及负数表示

  • 原码:二进制表示
  • 反码:正数反码=原码;负数反码符号位不变其余按位取反
  • 补码:正数补码=原码;负数反码符号位不变其余按位取反后+1
  • 计算机运算减法要转换成加法
  • 负数在计算机中用补码存储;-1的补码为1111 1111

内存管理

  • python使用引用计数记录所有对象的引用数
    1. 当对象引用数为0时,即可被垃圾回收GC
    2. 计数增加:赋值给其他变量,如x=1y=x
    3. 计数减少:函数运行结束时局部变量自动销毁,即减少引用计数;变量赋值给其它对象,如x=1y=xx=2

单分支结构

  • if语句
if condition:
    block

(condition为bool类型)

真值表

这里写图片描述

多分支结构

  • if…elif…else语句
if condition1:
    block
elif condition2:
    block
elif condition3:
    block
...
else:
    block

分支嵌套

if condition:
    block
else:
    if condition:
        block
    elif condition:
        block
    else:
        block

for循环

  • 语法
for element in interable:
    block

(当元素可迭代时,进入循环,执行block)

  • range函数:返回可迭代对象,进行计数处理
for i in range(5):
    print(i)

(range迭代取值默认从0开始;范围区间前闭后开;默认步长为1)
这里写图片描述

while循环

  • 语法
while condition:
    block

(条件满足时,condition为True,进入循环,执行block)

continue语句

  • 中断“当前循环”的当次执行(包括while、for循环),继续下次循环

break语句

  • 终止“当前循环”的执行(包括while、for循环)
if condition:
    break

(并非跳出if,而是终止if外的break所在的循环)

else循环

  • 语法
while condition:
    block
else:
    block
for element in interable:
    block
else:
    block

(若循环正常的执行结束,即执行else;若使用break终止,则else不执行)

计算所耗时间

import datetime #导入模块
start = datetime.datetime.now() #将现在时间赋值给start
(datetime.datetime.now() - start).total_seconds() #现在时间减去start,即为所耗时间

例题

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值