小白python入门(二)
b站课程学习笔记
up主:Python_子木
https://www.bilibili.com/video/BV1wD4y1o7AS?p=23
7. 程序的组织结构
-
顺序结构
程序重上到下 依次执行
-
分支结构
a =100
if a>10:
print("ok")
else:
print("no")
a = int(input("输入成绩判断等级"))
if a>0 and a<=100:
if a>=80 :
print("优秀")
elif a>=60:
print("及格")
else:
print("不及格")
else:
print("输入错误")
-
循环结构
- while
a=1 while a<10: print(a,end="") a+=1
- for-in
for i in "python": #in 后面是迭代对象 eg:range,一个字符串 print(i)#输出 p y t h o n for _ in range(10): #循环体中不需要使用自定义变量,可以自定义变量写为_ print("人生苦短 我用python")
-
break 语句
和 C 中的类似,用于跳出最近的一级 for 或 while 循环。
-
continue语句
用于结束当前循环,进入,下一次循环,通常与分支结构中的if一起使用 -
else 与 循环语句(for while)搭配使用
循环正常执行 没有break 时,执行else
a= 0 while a<3: pwd=int(input("输入密码")) if pwd ==888: print("输入正确") break; else: print("输入错误") a+=1 else: print("三次输入错误,账号已锁定")
条件表达式
中间判断为T 值为左 判断为F 值为右
8. pass语句
用于搭建代码
9.内置函数
前面不需要加前缀 直接使用的
eg:intput print
- range函数
返回值是一个迭代器对象
range类型的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素
in与not in 判断整数序列中是否存在(不存在)指定的整数
r = range(10) #范围【0 10)默认从0开始 默认步长为1
print(r) #控制台输出range(0, 10)
print(list(r)) #--》列表 用于查看ranf对象中的整数序列
r =range(1,10)# 后面那个是开区间
print(list(r))
print(10 in r) #False
r =range(1,11,2)#没加步长前 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#加步长 [1, 3, 5, 7, 9]
print(list(r))
10.列表[]
相当于群体语言的数组
可以存不同的类型
可以存重复元素
根据动态分配和回收内存
存储多个对象的引用
列表对象 按顺序有序储存
1)创建
-
中括号
-
内置函数lis= list([‘hello’,‘word’,98])
lis[0] 和 lis[-3]就是’hello’
从右到左 -1开始
从左到右 0 开始
2)查找 获取
lis= list(['hello','word',98,'hello'])
print(lis.index("hello")) # 输出0 返回左到右第一个
print(lis.index("hello",1,4))#3 在【1 4)里面找
不包括stop 步长为负数也是
- 多个元素 切片操作
start默认是0 stop默认是最后一个 step默认是1
- 步长是负数
3)添加
4)删除
5)修改
6)排序
一种是原列表上排序
一种是使用内置函数得出新的列表 原列表不变
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pvGtyPfx-1633787237013)(D:\学习\截图\image-20211009163027915.png)]
7)列表生成式
i*i 是表示列表元素的表达式
i 是自定义变量
range是可迭代对象
11.字典{}
以键值对的方式存
-
hash(key)计算存储位置
-
key 应是不可变对象 eg:int str
-
key 不能重复 Value可以重复 重复会引起覆盖
-
元素无序
-
较浪费内存
-
与list 一样 自动动态分配空间
1)创建
空字典就是 d={}
2)获取 判断
区别:
没有查到时:
第一种报错
第二种输出None or 给的值
3)增加 删除 改
4)视图
- keys()
- values()
- items()
5)遍历
for i in scores
i 是Key i是有顺序的
6)字典生成式
itmes=["apple", "book","others"]
prices=[80,90,85]
d={ item:price for item ,price in zip(itmes,prices) }
print(d)
#{'apple': 80, 'book': 90, 'others': 85}
itmes=["apple", "book","others"]
prices=[80,90,85]
d={ item.upper():price for item ,price in zip(itmes,prices) }
print(d)
#{'APPLE': 80, 'BOOK': 90, 'OTHERS': 85}
12.元组()
元组
-
Python内置的数据结构之一,是一个不可变序列
不变可变序:字符串、元组
不变可变序列 没有增、删,改的操作字符串可以s=s+“a” 但是id(地址) 是会变的
可变序列:列表、字典,集合
可变序列 可以对序列执行增、删、改操作,对象地址不发生更改
1).创建
第一种创建方式,使用() 小括号可以省略
第二种创建方式,使用内置函数tuple()
元组内如果只包含一个元组的元素 需要使用逗号和小括号
t=( 10 ,) #如果不写 , 将会识别为str
2)获取
-
索引
t[0] t[1] t[2]
-
for…in 循环
13.集合
集合
Python语言提供的内置数据结构
与列表、字典一样都属于可变类型的序列·集合是没有value的字典
可以类比数学里的集合
- 不可重复
- 可变序列
1)创建
-
s={2,3,4,5,5,6,7,7}
-
s=set()
-
s=set(range(6))
-
s2=set ([1,2,4,5,5,5,6,6]) #会自动去掉重复元素
-
空集合 必须set() {}默认是空字典
2)增加
- add 添加一个元素
- update 添加多个元素(加元组,列表…)
3)删除
- remove() 有则删除 没有异常
- discard 不抛异常
- pop() 随机删除一个
- clear 清空
4)集合之间的关系
4种
5)数学操作
不影响原来的集合
- &
- |
-
- ^
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rJBMLCX0-1633787237037)(D:\学习\截图\20211009213709.png)]
6)生成式
s={ i*i for i in range(10)}