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,即为所耗时间

例题

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值