Python基础学习笔记 from b站IT私塾

练习题归纳整理:

配套练习题

一些tips:

  • 创建py文件自带注释信息
    设置pycharm中的python script使创建文件时自己带上这些注释信息
#-*- coding = utf-8 -*-      
#@Time : ${DATE} ${TIME}   
#@Author : xs
#@File : ${NAME}.py
#@Software : ${PRODUCT_NAME}
  • input输入会按照str字符串保存
  • 非0数和True都可以表示当前为真
  • 随机数random.randint(a,b)用于生成一个指定范围内的整数。 生成的随机数n: a <= n <= b

输出

  • print(“aa”,“bb”,sep=".") # 分割符
  • print(“aa”,“bb”,end="") #表示不换行

循环语句

for循环

  • for … in,可以依次把list或tuple中的元素迭代出来

根据判断条件循环输入:
example 1:

print("请输入剪刀(0)、石头(1)、布(2):")
while True:
    a = int(input())
    if a==0 or a==1 or a==2:
        break
    else:
        print("你的输入不符合规范!请重新输入:")
        continue

example 2.1:

a = int(input("请输入剪刀(0)、石头(1)、布(2):"))
while a!=0 and a!=1 and a!=2:
    a=int(input("你的输入不符合规范!请重新输入:"))

example 2.2:
这样如果用户输入字符串也可以判断了,程序不会出错中断,而是提醒重新输入!

a = input("请输入剪刀(0)、石头(1)、布(2):")
while a!=str(0) and a!=str(1) and a!=str(2):
    a=input("你的输入不符合规范!请重新输入:")

while循环

i=0
while i<5:
    print("当前是第%d次执行循环"%(i+1))
    i += 1

while 也可以和else一起使用:多用于测试循环是否跳出

count = 0
while count<5:
    print(count, "小于5")
    count += 1
else:
    print(count,"大于或等于5")

在这里插入图片描述

break、continue、pass

  • pass:没有功能的,纯占位
  • continue:跳过本次循环continue之后的所有语句,即结束本次循环,但是不结束整个循环
  • break:直接结束整个循环

字符串

可以将字符串当作列表处理
a=“chengdu”
a[0:6]=chengd

列表

增删查改

追加
append()和extend()的区别:
append()会将整个列表当作一个元素添加进去,extend()会将新列表的元素逐一添加至旧列表。
图片: https://uploader.shimo.im/f/YeIlyCOF5yFz62M8.png?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MjYxNzAwODYsImciOiI5Z3dySkhwR2tKaEt0M2tEIiwiaWF0IjoxNjI2MTY5Nzg2LCJ1c2VySWQiOjU4NTU3MDcyfQ.NUzlfH8q5cGmZT9cKUk4qiXToJMCdCe1xlc90i2Lyd0
insert():指定下标位置插入元素

删除

  • del a[2] # 在指定下标删除元素
  • a.pop() #弹出末尾最后一个元素
  • a.remove(“指环王”) #直接删除找到的第一个符合指定内容的元素


a[1]=“小红” # 修改指定下标的内容

in ; not in
index(“a”,1,4) # 查找指定下标范围的元素,并返回找到对应数据的下标 (左闭右开的区间)找不到会报错

元组

与list相似,不同在于tuple的元素不能修改,可包含可变对象,如list
注意:定义一个只有一个元素的tuple,必须加逗号。不然就定义的是单独元素,不是元组

增删查


直接使用+,将两个元组连接起来,成为一个新的元组
删(del)
del tup1:直接删除了整个元组变量,而不是清空里面的元素

tup1[-1]:倒数第一个元素 ,左闭右开

字典

键值对
键:必须使用不可变类型,是唯一的

a ={“name”:“大苏打”,“age”:18}
按键的名称: a[“name”] or a.get(“name”) 前一种输入没有的键会报错,后一种会返回None
a.get(“gender”,“m”) 没有找到的可以设定默认值,会返回m;找到了会返回正确的值
图片: https://uploader.shimo.im/f/43ot57hqDWtXvDID.png?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MjYxNzAwODYsImciOiI5Z3dySkhwR2tKaEt0M2tEIiwiaWF0IjoxNjI2MTY5Nzg2LCJ1c2VySWQiOjU4NTU3MDcyfQ.NUzlfH8q5cGmZT9cKUk4qiXToJMCdCe1xlc90i2Lyd0

增删改查


a[“id”]=“da”

del a[“name”]:删除整个键值对
a.clear():清空字典

a[“age”]=20

a.keys() # 得到所有键
a.values() # 得到所有的值
a.items() # 得到所有的键值对,每个键值对是一个元组
遍历所有的值: for key in a.keys:
遍历每个键值对:for key,value in a.items():

枚举

使用枚举类型同时拿到列表中的下标和元素内容

mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
    print(i+1,x)

集合set

一组键key的集合,不存储value。不能重复key。所以集合里面没有重复的元素。

小结

图片: https://uploader.shimo.im/f/s9WlAW62T3wBCa84.png?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MjYxNzAwODYsImciOiI5Z3dySkhwR2tKaEt0M2tEIiwiaWF0IjoxNjI2MTY5Nzg2LCJ1c2VySWQiOjU4NTU3MDcyfQ.NUzlfH8q5cGmZT9cKUk4qiXToJMCdCe1xlc90i2Lyd0

函数

def name(): # 可返回一个和多个值 return
全局变量和局部变量同名时,函数内部的局部变量优先使用
在函数中修改全局变量:global a

文件操作

访问模式

图片: https://uploader.shimo.im/f/cKskgMV2whGz6Gd7.png?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MjYxNzAwODYsImciOiI5Z3dySkhwR2tKaEt0M2tEIiwiaWF0IjoxNjI2MTY5Nzg2LCJ1c2VySWQiOjU4NTU3MDcyfQ.NUzlfH8q5cGmZT9cKUk4qiXToJMCdCe1xlc90i2Lyd0

打开&关闭&读写

f = open('test.txt','w') # w模式(写模式)不存在会帮你在项目目录下新建一个文件
f.write("hello world")  # 将字符串写入文件中
content =f.read(5)
content =f.read(5)  # 再往后读5个字符
f.close()
# read模式,开始时写在文件头部,每执行一次,往后移动指定字符
f = open('test.txt','r') 
content =f.read(5)
print(content)
content =f.read(5)  # 再往后读5个字符
print(content)

f.readlines() # 按行读整个文档,每一行是列表中的一个元素
f.readline() # 读一行

相关操作

import os
os.rename(“1.txt”,“2.txt”) # 重命名
os.remove(“1.txt”) #删除文件

异常处理

try:  # 捕获异常
    pass
except (IOError,NameError)as result: # 异常类型被需要一致(多异常用括号)
    print(result)  # 捕获异常后执行的代码 打印错误信息
    
# 捕获所有异常 Exception
try:  
    pass
except Exception as result: 
    print(result)  
    
try:
    f = open()
except Exception as result:
    print("发生异常")
finally: # 一定会被执行的代码
    f.close()
    
# 嵌套
try:
    f = open("test1.txt","r")
    try:
        while True:
            content = f.readline()
            if len(content) == 0:
                break
            time.sleep(2)
            print(content)
    finally:
        f.close()
        print("文件关闭")           
except Exception as result:
    print("发生异常")

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值