上周回顾
计算机基本内容
- 计算机的本质
- 计算机五大组成
- 计算机的三大核心
- 路径
- 操作系统
编程相关知识
- 编程的本质
- 就是程序员通过计算机懂得的语言实现自己的思维逻辑和想法
- 编程的发展史
- 编程与编程语言
- 编程的两个分类
python基本内容
typora安装
pycharm安装
python安装
本周回顾概要
基本数据类型
- 整型
- 浮点型
- 字符串
- 布尔值
- 列表
- 字典
- 元组
- 集合
与用户交互
格式化输出
运算符
流程控制理论
流程控制详细语法
- 分支结构
- 循环结构
- while
- while-break
- while-continue
- while-else
- for
- for-break
- for-continue
- for-else
数据类型内置方法
- int
- float
- str
- 切割
- 替换
- 计算字符串总长度
- 索引取值
- 切片操作
- 字符串拼接
- 判断字符串是否纯数字
- 判断字符串首末字符
- 计算字符在字符串出现的次数
- count()
- 格式化输出
- 大小写
- 删除指定字符
- strip()
- lstrip()
- rstrip()
- list
本周回顾详情
基本数据类型
1.整型
关键字:int
语言描述:就是整数
语法:i = 12341283
2.浮点型
关键字:float
语言描述:就是小数
语法:f = 1234.123412
3.字符串
关键字:str
语言描述:文本,字段
语法:s1 = 'asdas' s2 = "asdas" s3 = '''asdasd''' s4 = """asdas"""
4.布尔值
关键字:bool
语言描述:只有两个值 用来判断对错
语法:False/True
5.列表
关键字:list
语言描述:用于有序的存放任何数据,并能方便的取出完整或部分内容
语法:l = [1, 1.2, True, 'str', [1, 2], {'dict': 'dict'}, {1, 2}, (1, 2)]
6.字典
关键字:dict
语言描述:能方便取得取出任何数据 每个数据都有对应的描述
语法:d = {'int': 1, 'float': 1.2, 'str': 'str', 'list': [1, 2], 'dict': {'str': 'str'}}
7.元组
关键字:tuple
语言描述:小列表,不能直接修改内部数据
语法:p = (1, 1.2, 'str', [1, 2], {'dict': 'dict'}, {1, 2}, (1, 2))
8.集合
关键字:set
语言描述:重复数据会自动去重,能存放任何数据
语法:s = {1, 1.2, 'str', [1, 2], {'dict': 'dict'}, {1, 2}, (1, 2)}
若向创建空集合,则:
s = set() # 为空集合
否则
s = {} # 为空字典
与用户交互
输出:print()
打印内部的数据值
可以一次性打印多个值(逗号隔开)
print(1, 2, 3) # 1 2 3
可以给结尾增加字符
print(1, end='0') # 10 默认为换行符\n
输入:input()
获取用户输入的*字符串*
格式化输出
占位符:
1.%s
语言描述:给任意数据占位,后续通过% 来输出
语法:print('%s,快%s吧,外面都是%s' % ('同学', '写博客', 'jason'))
结果:同学,快写博客吧,外面都是jason
2.%d
语言描述:只能给整数占位,若输入其他类型的数值则报错
语法:print('%d岁了' % 3) # 3岁了
format():
推荐方法:
name = 'jason'
age = '18'
hobby = 'read'
print(f'你好,这位是{name},今年{age},爱好是{hobby}')
结果:你号,这位是jason,今年18,爱好是read
运算符
逻辑运算符:
1.and
用于判断两个连接的条件是否都成立,只要有一个不成立,则输出False,全都成立则输出True
用 and 连接纯数据时,输出结果必定位纯数据
用 and 连接纯数据和运算式时,若运算式在右边,结果必定为布尔值,
若运算符在左边,则在运算符成立时,输出为纯数据,否则输出的False
用 and 连接运算式时,输出结果必定为布尔值
2.or
用于判断两个连接的条件是否至少有一个成立,只要有一个成立,则输出True,全不成立则输出False
用 or 连接纯数据时,输出结果必定为纯数据
用 or 连接纯数据和运算式时,若运算式在右边,则在纯数据成立时,输出纯数据,否则输出布尔值
若运算式在左边,则在运算式成立时,输出布尔值,否则输出纯数据
用 or 连接运算式时,输出结果必定为布尔值
3.not
将取得的布尔值取反
print(not True) # False
print(not 1) # False
print(not 0) # True
成员运算符:
1.in
用于判断数据是否存在数据组中
2.not in
用于判断数据是否不存在数据组中
身份运算符:
1.is
用于判断地址值是否相同,绝对意义上判断两个变量是否相等
l1 = [1, 3, 4]
l2 = l1
l3 = l1
print(l2 is l3) # True
l1 = [1, 3, 4]
l2 = l1
l3 = [1, 3, 4]
print(l2 is l3) # False
2.==
用于判断数据值是否相等,仅在数值方面上判断两个变量是否相等
l1 = [1, 3, 4]
l2 = l1
l3 = l1
print(l2 == l3) # True
l1 = [1, 3, 4]
l2 = l1
l3 = [1, 3, 4]
print(l2 == l3) # True
流程控制理论
1.流程控制的概念
本质就是事物的执行流程 事物的执行流程总共就三种
1.顺序结构
从上往下依次执行 我们之前所写的代码都是顺序结构
2.分支结构
根据条件的不同执行不同的代码
3.循环结构
根据条件的判断觉得是否一直做某些事
流程控制详细语法
1.分支结构if
关键字:if
语法:
if 条件:
条件成立后执行的代码块
语言描述:在条件成立后,执行条件成立后的子代码块
关键字:if-else
语法:
if 条件:
条件成立后执行的代码块
else:
条件不成立后执行的代码块
语言描述:条件成立后,执行if下面的子代码块,条件不成立,执行else下面的子代码块
关键字:if-elif-else
语法:
if 条件1:
条件1成立后执行的代码块
elif 条件2:
条件1不成立条件2成立后执行的代码块
elif 条件3:
条件1,2都不成立条件3成立后执行的代码块
...
else:
上述条件都不成立后执行的代码块
语言描述:条件成立后,
2.循环结构while
关键字:while
语法:
while 条件:
条件成立后执行的代码块
语言描述:条件成立后,执行while内的子代码块,执行结束后进入下一次判断条件,直至条件不成立
关键字:while+break
语法:
while 条件1:
条件1成立后执行的代码块
if 条件2:
break
条件2不成立后执行的代码块
语言描述:条件1成立后,执行while内的子代码块,子代码块执行结束后判断条件2
若条件2成立,则执行break,跳出并结束该循环,否则执行条件2不成立后执行的代码块,
条件2不成立后执行的代码块结束后,进入下次一条件1判断,直至条件1不成立
关键字:while+continue
语法:
while 条件1:
条件1成立后执行的代码块
if 条件2:
continue
条件2不成立后执行的代码块
语言描述:条件1成立后,执行while内的子代码块,子代码块执行结束后判断条件2
若条件2成立,则执行break,跳出当前循环,进入下一次条件1判断,否则执行条件2不成立后执行的代码块,
条件2不成立后执行的代码块结束后,进入下次一条件1判断,直至条件1不成立
关键字:while+else
语法:
while 条件1:
条件1成立后执行的代码块
if 条件2:
break
else:
条件2未成立循环结束后执行的代码块
语言描述:条件1成立后,执行while内的子代码块,子代码块执行结束后判断条件2,
若条件2成立,则执行break,跳出并结束该循环,不执行else中的子代码块,
条件2不成立后执行的代码块结束后,进入下次一条件1判断,直至条件1不成立,
若条件1不成立结束循环,则执行else中的子代码块
循环结构for
关键字:for
语法:
for 变量名 in 可迭代对象: # 可迭代对象有列表 字典 元组 集合
for循环子代码块
语言描述:将可迭代对象中的值依次赋值给变量,每赋一次值执行一次for循环子代码
关键字:for+break/continue/else
与while相同用法
数据类型的内置方法
关键字:int
内置方法:无
类型转化:int() 只能将纯数字型str转化为int类型 入 '123' '2233' 不可转化小数型str,如 '12.13'
关键字:float
内置方法:无
类型转化:float 可以将纯数字型str、小数型str转化为小数,但不能转化 '12.21.312'
关键字:str
内置方法:
1.切割字符串
关键字:split()
语法:
s1 = 'jason|123|read'
print(s1.split('|'))) # ['jason', '123', 'read'] 生成的是一个列表可以按照这个特性使用在相关方面
print(s1.split('|', maxsplit=1)) # ['jason', '123|read'] 默认从左向右切割,maxsplit可以控制个数
关键字:rsplit()
s1 = 'jason|123|read'
print(s1.rsplit('|', maxsplit=1)) # ['jason|123', 'read']
2.替换字符串
关键字:replace()
语法:
s1 = 'hello world'
print(s1.replace('o', 'r')) # hellr wrrld 从左到右全部替换
print(s1.replace('o', 'r', 1)) # hellr world 从左到右替换1个
3.计算字符串总长度
关键字:len()
语法:
s1 = 'hello world'
print(len(s1)) # 11 空格也算字符
4.索引取值
语法:
s1 = 'hello world'
print(s1[2]) # l 输出索引为2的字符 字符串可以看作是一个列表 里面的每个字符都是数据值
print(s1[-1]) # d 支持负数
5.切片取值
语法:
s1 = 'hello world'
print(s1[0:3]) # hel 输出索引0到索引2的字符 顾头不顾尾
print(s1[-4:-1]) # orl 支持负数 同顾头不顾尾
print(s1[-1:-4:-1]) # dlo 第三个数值可以控制方向 负数则为反方向
print(s1[0:3:2]) # hl # 第三个数值还可以控制间隔
6.字符串拼接
关键字:+
语法:
print('hello ' + 'world') # hello world
7.判断字符串是否为纯数字
关键字:isdigit()
语法:
print('123'.isdigit()) # True
print('123.2'.isdigit()) # False
print('123a'.isdigit()) # False
print(123.isdigit()) # 报错 因为这个方法是str的
8.判断字符串首尾字符
关键字:startswith()
语法:
s1 = 'hello world'
print(s1.startswith('h')) # True
print(s1.startswith('hel')) # True
print(s1.startswith('hl')) # False
关键字:endswith()
语法:
s1 = 'hello world'
print(s1.endswith('old')) # True
print(s1.endswith('dlo')) # False
9.计算字符在字符串中出现的次数
关键字:count()
语法:
s1 = 'jason nb nb nb'
print(s1.count('n')) # 4
print(s1.count('nb')) # 3
10.格式化输出
关键字:format()
语法:
s1 = '{0},{1},{0},{1},{1}'
print(s1.format('这是0', '这是1')) # 这是0,这是1,这是0,这是1,这是1 根据索引输出值
s2 = '{name},{age},{name},{age},{age}'
print(s2.format(age=18, name='jason')) # jason,18,jason,18,18 根据关键字赋值
11.大小写
关键字:upper()
语法:
s1 = 'abcAS'
print(s1.upper) # ABCAS
关键字:lower()
语法:
s2 = 'abcAS'
print(s2.lower()) # abcas
12.删除首尾指定字符
关键字:strip()
语法:
s1 = ' abc 123 asd '
s2 = '%%%asd%%%'
print(s1.strip()) # abc 123 asd 默认删除首尾空格字符
print(s1.strip('%')) # asd
关键字:lstrip()
s1 = ' abc 123 asd '
print(s1.lstrip()) # abc 123 asd 删除字符串首部空格字符
关键字:rstrip()
s1 = ' abc 123 asd '
print(s1.lstrip()) # abc 123 asd 删除字符串首部空格字符