0802学习内容整理
计算机基础~Python基础的知识点大纲
前几天学完了计算机基础~python基础部分的内容,今天就先整理下基础学习的知识点大纲
计算机基础之编程
什么是编程语言
什么是编程
为什么要编程
计算机的五大组成
cpu
控制器
运算器
内存
外存
输入设备
输出设备
IO设备
应用程序的启动流程
多核CPU
32位和64位
机械硬盘工作原理
固态硬盘
计算机基础之操作系统
什么是文件
什么是应用程序
操作系统的作用
计算机系统的三大组成
操作系统的启动流程
编程语言的分类
机器语言
汇编语言
高级语言
解释型语言
编译型语言
网络的瓶颈效应
python基础
执行python程序的两种方式
交互式
命令行式
变量
什么是变量
变量的组成
变量名的命名规范
定义变量名的两种格式
常量
什么是常量
定义常量的方式
python变量内存管理
引用计数
python垃圾回收机制
小整数池
花式赋值
链式赋值
交叉式赋值
注释
单行注释
多行注释
数据类型基础
数字类型
字符串类型
列表类型
字典类型
布尔类型
解压缩
python与用户交互
格式化输出的三种方式
占位符
format格式化
f-String格式化
基本运算符
算术运算符
比较运算符
逻辑运算符
赋值运算符
身份运算符
运算符优先级
流程控制之if判断
单分支结构
双分支结构
多分支结构
if嵌套
流程控制之while循环
while+break
while+continue
while+else
while嵌套
流程控制之for循环
for+break
for+continue
for+else
for嵌套
有序或无序
可变或不可变
写这个大纲也打了这么多字,接下来是今天新知识的整理,今天开始学习python进阶的知识点了,更加烧脑了,哈哈
一、数据类型内置方法
总结模板:
作用
定义方式
内置方法
存一个值还是多个值
有序or无序(有序:也就是有索引,无序:无索引)
可变or不可变(重点)
可变:变量值变id不变
不可变:变量值变id也变
扫描二维码关注公众号,回复: 6934392 查看本文章id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型。
1.1 数字类型内置方法
1.1.1 整型
作用:表示年龄、号码、等级等
定义方式:可以使用int()方法将纯数字的字符串转为十进制的整型
x = 10 x = int('10') x = int(10.1) print(x) # 10 x = int('10.1') # 报错,int()里10.1本来就是字符串了,不需要加引号 print(x)
内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=
存一个值还是多个值:存一个值
有序or无序:整型只有一个值,没有这个说法
可变or不可变:不可变
x=10 print(id(x)) # id为1925279488 x=11 print(id(x)) # id为1925279520
值变id也变,所以整型为不可变
1.1.2浮点型
作用:用来表示薪资、身高、体重等
定义方式:可以使用float()方法将纯数字的字符串转为浮点型数字
x = float('111') print(x) # 输出为111.0 print(type(x)) # <class 'float'>
内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=
存一个值还是多个值:一个值
有序or无序:没有这一说法
可变or不可变(重点):不可变
数字类型都不可变
1.2 字符串类型内置方法
作用:描述性质的东西,如人的名字、单个爱好、地址、国家等
定义方式:使用''、""、''''''、""""""包裹的的一串字符
s = 'sdfklsdjfk' s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100 # 有这种二进制的定义方式,其实一点用都没有 print(s) # \n 换行 s = 'a\na' # 碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义 print(s) # \t 缩进4个空格 s = 'a\t\ta' print(s) # 输出结果为a a # \r 回退上一个打印结果,覆盖上一个打印结果 print('\ra',end='') # print('\\ra',end='') # 加一个\让后面的\变得无意义 # s = 'a\\na' # print(s) # s = r'\ra\t\na' # raw # print(s)
内置方法:
s='nick handsome'
# 一、优先掌握:
# 1、按索引取值(只可取,不可改变)
print(s[1]) # 输出为i
# 2、切片(顾头不顾尾,步长)
# 索引切片
msg = 'hello nick'
# 0123456789 # 索引序号
print(f'切片3-最后: {msg[3:]}') # 从索引3的位置切片到最后一位,输出为lo nick
print(f'切片3-8: {msg[3:8]}') # 输出为lo ni
print(f'切片3-8,步长为2: {msg[3:8:2]}') # 输出为l i
print(f'切片3-最后,步长为2: {msg[3::2]}') # 输出为l ik
# 了解,步长为正从左到右;步长为负从右到左
print('\n**了解知识点**') # **了解知识点**
print(f'切片所有: {msg[:]}') # 切片所有: hello nick
print(f'反转所有: {msg[::-1]}') # 反转所有: kcin olleh
print(f'切片-5--2: {msg[-5:-2:1]}') # 切片-5--2: ni
print(f'切片-2--5: {msg[-2:-5:-1]}') # 切片-2--5: cin
# 3、for循环
s = 'nick handsome'
for i in s:
print(i) # 逐行打印s中的每个字符
# 4、strip() 移除空白
s1 = ' nick handsome '
print(s1.strip()) # 去两端的空白
s2 = '***!!!!!nick handsome----***'
print(s2.strip('-*!')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
print(s2.strip('nick')) # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
# s2.strip('*-!') # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
# 5、split() 切割
s2 = '***!!!!!nick handsome----***'
print(s2.split()) # 默认以空格切割字符串
print(s2.split('!')) # 以!切割
print(s2.split('!', 2)) # 以!切割,最大切割次数为2,也就是从找到第一个!开始切割,找到第二个!切割后就结束切割
# 6、in 或 not in 返回结果就是True或False
s2 = '***!!!!!nick handsome----***'
print('*' in s2) # True
print('$' not in s2) # True
# 7. 长度len
s2 = 'nick handsome'
print(len(s2)) # 求字符串的长度
# 二、需要掌握:
# 1. lstrip() 和 rstrip() 左移除和右移除
s2 = '***!!!!!nick handsome----***'
print(s2.lstrip('*')) # !!!!!nick handsome----***
print(s2.rstrip('*')) # ***!!!!!nick handsome----
# 2. rsplit() 从右开始切割
info = 'nick:male:19'
print(f"info.rsplit(':', 1): {info.rsplit(':', 1)}") # 从右开始切割,1表示只切割一次,输出为info.rsplit(':', 1): ['nick:male', '19']
# lower&upper 把大写变小写和把小写变大写
s3 = 'aaabbJ'
print(s3.lower()) # 把字符串中所有大写变成小写,aaabbj
print(s3.upper()) # 把字符串中所有小写变成大写,AAABBJ
# startswith&endswith 以什么开头和以什么结尾,返回结果为True或False
s3 = 'aaabbJ'
print(s3.startswith('b')) # False
print(s3.endswith('J')) # True
# join(用的比较多)一般和split联用
s3 = ' '
print(s3.join(['234', '234', '234'])) # 以s3也就是以空格为间隔符,拼接列表里的每一个元素,输出为234 234 234
s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
s1 = s.split('/') # 先把s以/切分
print(s1) # ['辣条', '薯片', '汽水', '泡面', '火腿肠', '枸杞', '当归', '鹿茸']
print('*'.join(s1)) # 再把切分后的每一个元素间用*连接
# 输出结果为:辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸
# replace 替换
s2 = 'yongjiu handsome'
print(s2.replace('yongjiu', 'gebilaowang')) # 用gebilaowang替换掉yongjiu
## isdigit(纯数字)/isalpha(纯字母) 返回结果为True或False
s2 = '12312'
print(s2.isdigit()) # True
s3 = 'aaac1c'
print(s3.isalpha()) # False
# 3、做了解即可
# find|rfind|index|rindex|count 一般常用find
s2 = '**23423***ni234234ck $$ hand223423some******'
print(s2.find('$')) # 从左找,找到第一个停止,找不到返回-1
print(s2.rfind('$')) # 从右找,找到就停止,找不到返回-1
print(s2.index('$')) # 找不到报错
print(s2.rindex('$')) # 找不到报错
- 存一个值还是多个值:一个值
- 有序or无序:有序,只要是有索引的,都是有序的,因此字符串是有序的
- 可变or不可变(重点):不可变
字符串的内置方法得多记多用,多打代码练习,才能熟练使用