周总结 + for 循环 + 内置方法(day06整理)

目录

周总结

一 计算机基础之编程

(一) 什么是编程语言

人和计算机交流的介质

(二) 什么是编程

通过编程语言写一些文件

(三) 为什么编程

替代劳动力

二 计算机五大组成

(一) CPU

(1) 运算器

算术运算+逻辑运算

(2) 控制器

控制硬件

(二) 存储器

(1) 主存

优点: 速度快,断电即消失

缺点:内存小,

(2) 内存

优点: 内存大,永久存储

缺点:速度慢

(三) 输入设备

输入信息,键盘/鼠标

(四) 输出设备

输出信息,显示屏/打印机

(五) 32位和64位

计算机一次性读取的二进制位数

(六) 多核CPU

同一时刻同时做多件事情

(七) 机械硬盘工作原理

(1) 机械手臂

读取数据

(2) 磁道

存储数据

(3) 扇区

划分磁道

(4) 平均寻道时间

(5) 平均延迟时间

(6) 平均寻找数据时间

三 计算机操作系统

(一) 什么是文件

操作系统提供的虚拟单位,用来存储信息

(二) 操作系统有什么用

把对硬件的复杂操作简单化

(三) 操作系统的启动

  1. 启动临时操作系统
  2. 临时操作系统启动真正的操作系统
  3. 临时操作系统关闭

(四) 应用程序的启动

  1. 双击qq,给操作系统发送指令
  2. 操作系统给CPU发送指令
  3. cpu给内存发送指令
  4. 内存给外存发送指令,获取qq数据
  5. 内存读取qq数据
  6. qq启动

四 编程语言的分类

(一) 机器语言

优点:执行效率高

缺点:开发效率低

(二) 汇编语言

优点: 开发效率低

缺点:执行效率高

(三) 高级语言

(1)编译型语言

优点:执行效率高

缺点:开发效率低

(2) 解释性语言

优点:开发效率高

缺点:执行效率低

五 网络瓶颈效应

网络通信时间远远大于程序执行的时间

六 python执行程序的两种方式

(一) 交互式

优点:方便调试bug

缺点:无法保存

(二) 命令行式

优点:可以保存

缺点:调试麻烦

七 变量

(一) 什么是变量

描述世间万物变化的状态

(二) 变量的三大组成

变量名+赋值符号+变量值

(三) 变量名的命名规范

  1. 变量名要有描述意义
  2. 变量名由数字/字母和下划线组成,不能以数字开头
  3. 不能以关键字命名

(四) 变量名的两种命名方式

  1. 驼峰体
  2. 下划线

八 常量

常量名大写,但是可以变化(约定俗成的不变化)

九 python变量内存管理

(一) 引用计数

变量值的引用次数

(二) 垃圾回收机制

变量值的引用计数为0,自动触发垃圾回收机制,解除变量值的内存占用

(三) 小整数池

[-5,256]之间的整数,在python解释器启动的时候,就会自动生成,也就是说垃圾回收机制对它们无效

十 变量的三种打印方式

十一 花式赋值

(一) 链式赋值

(二) 交叉赋值

十二 布尔类型

所有数据类型自带布尔值,除了 0/None/空/False自带布尔值为False,其他为True

十三 解压缩

一次性接收多个值

十四 python与用户交互

input的使用,接收的值永远为字符串

十五 格式化输出的三种方式

## (一) f-string格式化

(二) % 占位符

(三) format格式化

十六 基本运算符

(一) 算术运算符

+ - * / // % **

(二) 逻辑运算符

  1. and 两边都为True,则为True
  2. or 一边为True,则为True
  3. not 否定

(三) 比较运算符

< <= > >= == !=

(四) 身份运算符

  1. is 比较内存地址
  2. is not

(五) 成员运算符

  1. in 判断元素是否存在容器类元素内部(包括字符串)
  2. not in

(六) 赋值运算符

= += -= *= /= **= %= //=

(七) 运算符的优先级

十七 流程控制之if判断

(一) 单分支结构

(二) 双分支结构

(三) 多分支结构

十八 流程控制之while循环

(一) while + break

(二) while + continue

(三) while + else

(四) tag控制while退出

十九 流程控制之for循环

(一) for + break

(二) for + continue

(三) for + else

二十 数字类型内置方法

(一) 整形

(二) 浮点型

二十一 字符串内置方法

(一) 优先掌握

  1. 索引取值
  2. 索引切片
  3. for循环
  4. 成员运算
  5. len长度
  6. strip
  7. split

(二) 需要掌握

  1. rstrip/lstrip
  2. rsplit
  3. lower/upper
  4. startswith/endswith
  5. isdigit/isalpha

(三)了解

  1. find/rfind/index/rindex/count
  2. center/ljust/rjust/zfill
  3. expandtabs
  4. capital/swapcase/title
  5. is系列

二十二 列表内置方法

(一) 优先掌握

  1. 索引取值/索引修改值
  2. 索引切片
  3. for循环
  4. 成员运算
  5. len长度
  6. append
  7. del 删除某一个元素

(二) 需要掌握

  1. sort
  2. reverse
  3. pop
  4. remove
  5. index
  6. insert
  7. extend
  8. copy
  9. clear

(三) 有序or无序

有索引,有序;无索引,无序

(四) 可变or不可变

可变:值变id不变

不可变:值变id变化

今日内容

流程控制之for循环

for + break

for i in range(50,101,3):  # 顾头不顾尾,2表示步长
    if i == 53:
        break  # 中断循环
        print(i)

for + continue

for i in range(50,101,3):  # 顾头不顾尾,2表示步长
    if i == 53:
        continue  # 跳出本次循环,不执行下面的代码
    print(i)

for + else

for i in range(50,101,3):
    if i == 1000:
        break
    print(i)
else:u
    print('如果没有被break终止我就打印')

数字类型内置方法

整形+浮点型

  1. + - * / % // ** > >= < >= == !=
  • 均为不可变类型
  • 没有有序无序一说(有索引的就有序,无索引的就无序)

字符串类型

优先掌握

1. 索引

s = 'nick handsome'
print(s[1])

i

2. 索引切片

print(s[0:4])  # 顾头不顾尾
print(s[0:4:2])  # 2表示步长,隔一个取一个
print(1, s[4:0:-1])  # +从左到右,-表示从右到左
print(1, s[2:])  # 左边的不写取到最左边,右边的不写取到最右边

3. for循环

for i in s:
    print(4, i)

4.成员运算

print('nick' in s)
print('nick1' not in s)  # True

5. strip()

默认去除两端空格,可以指定去除的字符,可以指定多个字符同时去掉

s1 = 'a  nick   ******'
print(s1.strip())
print(s1.strip(' kc*'))  # 可以乱序,但是不能没有

6. split()

s2 = 'nick|123658|180|140'
print(s2.split('|'))  # 按照|切割字符串,得到的是一个列表

7. len()

s1 = 'nick handsome'
print(len(s1))

需要掌握

1. lstrip&rstrip

s3 = '**nick**'
print(s3.lstrip('*'))
print(s3.rstrip('*'))

2. lower&upper

s3 = 'Nick'
print(s3.lower())  # 小写
print(s3.upper())  # 大写

3. startwith&endwith

s4 = 'nick handsome'
print(s4.startswith('nick'))  # 以。。。开始
print(s4.endswith('some'))  # 以。。。结束

4. rsplit

s = 'nick|handsome|180|140|'
print(s.rsplit('|',1))  # 从右切割

5. join

lt = [1,2,3,4,5]
print('*'.join(lt))

6. replace

s = 'nick handsome'
s = s.replace('nick','nick chen')
print(s)

7. isdigit/isalpha

s = 'a123123'
print(s.isdigit())  # 判断字符串内字符是否都为数字
s = 'askdlfj234'
print(s.isalpha())

了解

1. find/rfind/index/rindex

s = 'nick handsome'
print(s.find('h'))  # 找索引,-1表示没找到
print(s.rfind('h',6,10))

print(s.index('h'))
print(s.index('sadf'))  # 找不到报错

2. center/ljust/rjust/zfill

s = 'nick'
print(s.center(50,'*')) # 居中
print(s.ljust(50,'*'))
print(s.rjust(50,'*'))
s = '111'
print(s.zfill(8))

3. expandtabs

# \n 换行
# \t 缩进
s = 'a\t\t\t\ta'
print(s)
print(s.expandtabs(18))

4. captalize/swapcase/title

s = 'nickNick handsome'
print(s.capitalize())  # 首字母大写
print(s.swapcase())
print(s.title())  # 每个单词的首字母大写

5. is系列

列表内置方法

优先掌握

1. 索引取值/索引修改值

lt = [1, 2, 3, 4]
print(lt[1])

2. 切片

print(lt[:])
print(lt[1:2])
print(lt[1:4:2])

3. for循环

for i in lt:
    print(i ** 2)

4. 成员运算

print(1 in lt)
print(5 in lt)

5. len

print(len(lt))

6. append

# 追加
lt.append(5)
print(lt)

7. del

del lt[0]  # 删除
print(lt)

需要掌握

1. insert

lt = [1, 2, 3, 4, 5]
lt.insert(0, 0)  # 往前插入
print(lt)

2. pop

# pop:按照索引删除值
lt = [11, 22, 33, 44, 55]
lt.pop(0)
print(lt)

3. remove

# 按照值删除值
lt.remove(22)
print(lt)

4. count

lt = [11, 11, 11, 22]
print(lt.count(11))

5.index

print(lt.index(11))

6. clear

lt = [1, 2, 2, 3]
lt.clear()
print(lt)

7. copy

lt = [1, 2, 3, 4]
lt1 = lt.copy()
print(lt1)

8. extend

lt1 = [1, 2, 34]
lt2 = [1, 1, 2, ]

lt1.extend(lt2)
print(lt1)

9. reverse

lt = [1, 2, 3, 4]
lt.reverse()
print(lt)

10. sort

lt = [2, 3, 1, 0, 4]
lt.sort(reverse=True)
print(lt)
上一篇:Zabbix使用JavaScript配置webhook发送告警通知


下一篇:Docker引擎核心组件