十三第一阶段复习-python知识点梳理
python复习1
单引号和双引号的使用 当字符串中有单引号时,外面用双引号
str1="It's OK"
当字符串中本身有双引号时,外面用单引号
str2='He said:"Are you OK?"'
当字符串的换行比较多的时候,可以用三引号
str3='''远看山有色, 近听水无声. 春去花还在, 人来鸟不惊.'''
三引号可以作为类或函数的注释
def fun1():
''' WRYBNGFETNH FGDFVGTBG
:return:
'''
print(fun1.__doc__)
转义符
filepath='D:\note1.txt'
print(filepath) #直接打印会出现换行
方案一,再加一个\
filepath='D:\\note1.txt'
方案二,字符串前面加r
filepath=r'D:\note1.txt'
方案三,对于文件路径,可以使用/代替\
filepath='D:/note1.txt'
字符串的拼接
print('1'+'8')
print('1'+8) #str型与int型进行拼接会报错
print('1'*8) #将字符串打印8次
字符串是不可变对象,不可以通过下标修改某个位置的值
str2='abcdefg'
str2[0]='v' #报错
字符串的切片 [起始值:终止值:步长] 包含起始值,不包含终止值,步长的缺省值为1 切片之后的对象是一个新的对象,不影响原对象
str2_new=str2[0:3]
print(str2_new)
print(str2[2::-1]) #cba
写一个程序,判断某个字符串是否是回文
str2='上海自来水来自海上' def fun1(str): if str[::-1]==str: return True else: return False print(fun1(str2))
列表
列表是可变对象,可以新增,修改,删除列表中的元素
新增
append 添加元素到列表的末尾
insert 添加元素到指定位置
extend 列表的拼接
删除
pop 删除元素,不指定参数时,删除列表的最后一位,也可以指定一个下标进行删除,这个方法返回的是被删除的元素
remove 根据值进行删除,有多个相同的值时,只删除第一个
del 可以删除任意位置的值,或者列表本身
写一个程序,打印斐波那契数列的前20位
list1=[] for i in range(20): if i<2: list1.append(1) else: list1.append(list1[-2]+list1[-1]) print(list1)
元组是不可变对象,可以使用下标和切片
当元组中只有一个值时,加一个逗号
tuple1=(10,)
print(type(tuple1))
元组中如果有子列表,那么子列表的值是可以修改的
tuple2=(100,200,300,400,500,[600,800])
tuple2[-1][-1]=999
print(tuple2)
list2=list(tuple2) #将对象转为列表
print(list2)
print(tuple(list2)) #将对象转为元组
布尔表达式
and 一假为假,全真为真 or 一真为真,全假为假 优先级 not>and>or
浅拷贝,深拷贝
赋值,相当于一个快捷方式,没有生成新的对象
list10=[100,200,300,400,[500,600]]
list10_new=list10 #赋值,相当于一个快捷方式,没有生成新的对象
浅拷贝
import copy
list10_new=copy.copy(list10) #浅拷贝,生成了一个新的对象,但是子列表仍然是同一个对象
list10[0]=180 #改原列表的值不会影响新列表
list10[-1][0]='678' #改原列表的子列表的值会影响新列表
print(list10,id(list10[-1]))
print(list10_new,id(list10_new[-1]))
深拷贝
list10_new=copy.deepcopy(list10) #深拷贝,生成了一个新的对象,子列表也是新的对象
list10[-1][0]='678'
print(list10,id(list10[-1]))
print(list10_new,id(list10_new[-1]))
切片等价于浅拷贝
list10_new=list10[:] list10[0]=180 #改原列表的值不会影响新列表
list10[-1][0]='678' #改原列表的子列表的值会影响新列表
print(list10,id(list10[-1]))
print(list10_new,id(list10_new[-1]))
第二节课
python复习2
对象的方法
str1='abc'
str1.replace('abc','')
打印从1到10的值
while循环
i=1
while i<=10:
print(i)
i+=1
for循环
for i in range(1,11): #range(起始值,终止值,步长) 包含起始值,不包含终止值,步长缺省值为1
print(i)
break 终止循环,continue 跳出当次循环
for i in range(1,11):
if i==5:
# break
# continue
pass
else:
print(i)
#循环的else语句 如果循环没有遇到break语句,则循环结束时执行else中的语句
else:
print('循环执行完毕')
倒计时程序
import time
for i in range(10,0,-1):
print(f'\r倒计时{i}秒',end='')
time.sleep(1)
else:
print(f'\r倒计时结束')
文件的读取与写入
r+ 可以同时读写,如果文件不存在,则报错,写入时是覆盖写入
w+ 可以同时读写,如果文件不存在,则新建文件,写入时是清空写入
a+ 可以同时读写,如果文件不存在,则新建文件,写入时是追加写入
with open('D:/note1.txt') as file1:
#print(file1.read()) #全部读取,返回值是字符串
#print(file1.readline()) #读取一行的内容
#print(file1.readlines()) #全部读取,返回值是列表,有换行符
print(file1.read().splitlines()) #全部读取,返回值是列表,没有换行符
seek(0)光标回到文件首位
with open('D:/note12345.txt','w+') as file2:
file2.write('ABCDE')
file2.seek(0)
print(file2.read())
字典
字典是可变对象,字典的键可以存放不可变对象,值可以存放任意对象
字典的新增和修改用的是相同的方法,如果已经存在对应的键,那么就是修改,如果没有对应的键,那么就是新增update()字典的删除,用
遍历字典中的键值对 字典.items()
json与字典
str1='''{
"aac003" : "tom",
"tel" : "13959687639",
"crm003" : "1",
"crm004" : "1"
}'''
import json
from random import randint
number1=randint(10000000,99999999)
dict1=json.loads(str1) #将json转为字典
dict1['tel']=f'139{number1}'
str1_new=json.dumps(dict1) #将字典转为json
print(str1_new)
写一个函数,不使用循环,求某数的阶乘
使用递归实现,n的阶乘,其实就是n乘以n-1的阶乘
def jiecheng(n):
if n==1:
return 1
else:
return n*jiecheng(n-1)
print(jiecheng(6))
十三第一阶段复习-python知识点梳理相关推荐
- 华清远见-重庆中心-框架阶段技术总结/知识点梳理
文章目录 华清远见-重庆中心-框架阶段技术总结/知识点梳理/个人总结 框架 Java主流框架 Spring 概念 组成 名词解释 IOC DI Spring控制台应用 1.创建一个普通的Maven项目 ...
- python开发基础戴歆第四章_第一阶段:Python开发基础 day04 课后练习
第一阶段:Python开发基础 day04 课后作业 1.简述python的五大数据类型的作用.定义方式.使用方法 数字类型 字符串类型 列表 字典 布尔型 答:数字类型分为整型(int)和浮点型(f ...
- 【Python知识点梳理】10.Python的垃圾回收机制、代码规范及命令行参数
Python的垃圾回收机制.代码规范及命令行参数 文章目录 1.Python的垃圾回收机制 2.Python的引用计数机制 3.Python中的循环数据结构及引用计数 4.Python中的GC模块 5 ...
- 第一阶段:Python开发基础 day18 模块的使用(三)
目录 上节课内容回顾 一.numpy模块 一.numpy简介 二.为什么用numpy 三.创建numpy数组 五.获取numpy数组的行列数 六.切割numpy数组 七.numpy数组元素替换 八.n ...
- 华清远见-重庆中心-数据库阶段技术总结/知识点梳理/个人总结/面试题解析
目录 Java Web阶段核心内容 (一)初识Web 1.JavaWeb定义 2.B/S与C/S模式 3.网站与网页 4.Tomcat服务器 5.Maven 6.常见的Http状态码 7.Servle ...
- 华清远见-重庆中心-数据库阶段技术总结/知识点梳理/个人总结/关于JavaWeb技术的解析(看法)
JavaWeb 使用Java开发Web服务的技术,统称为JavaWeb. B/S与C/S模式 B/S:Browser/Server 浏览器/服务器模式 用户只需要一个浏览器即可访问服务器 C/S:Cl ...
- 华清远见-重庆中心-数据库阶段技术总结/知识点梳理/个人总结
文章目录 前端.后端.数据库 数据和信息 数据库 数据库管理系统 总结 常见的数据库管理系统 关系型数据库 非关系型数据库 MySQL8.x的安装和使用 1.下载 2.卸载 3.安装 MySQL控制台 ...
- 【Python知识点梳理】5.Python内置函数
5.Python内置函数 文章目录 1.内置函数简介 2.数据运算 3.类型转换 4.序列操作 5.Set集合 7.其他内置函数 6.综合练习 总结 1.内置函数简介 任何一门编程语言的核心操作都 ...
- 华清远见-重庆中心-JavaWeb阶段技术总结/知识点梳理/个人总结
文章目录 JavaWeb B/S与C/S模式 网站 网页 网络服务器 Tomcat 下载 目录结构 Maven 使用IDEA创建基于Maven的Web项目 1.新建webapp模板 2.设置项目名称和 ...
最新文章
- 三大新闻机构起诉FBI,FBI与苹果大战续集开幕?
- 深度学习与机器学习的思考
- 疯狂kotlin讲义连载之运算符和表达式——区间运算符
- mysql退出当前数据库,再次 show databases
- Haskell语言实现判断一个整数是否是质数的代码及运行结果
- 比较OpenBLAS,Intel MKL和Eigen的矩阵相乘性能
- java的流套接_java-使用流关闭套接字
- Mac下svn搭建和使用方法
- 具体数学:计算机科学基础:第2版
- String类型直接赋值与构造赋值
- bootstrap 仿实例
- C语言实现多人坦克大战
- 一招教你电脑微信双开
- WIndows禁用笔记本键盘
- 分享一款上班摸鱼神器,再也不怕领导突然出现在身后了~
- EasyExcel3.0.5 解决大数据导入导出,防止OOM
- nginx 按天分割日志
- 《大数据时代:生活、工作与思维的大变革》:看“大数据时代预言家”的真知灼见
- redis requires ruby version 2.2.2的解决方案
- 你还在问我Bean的生命周期?带你看看一个Spring Bean从诞生到逝去的九次人生转折!
热门文章
- 树莓派4b: 初级使用(Ubuntu21.10,Windows11写入SSD,远程连接,软路由搭建,webmin安装,自建Dockerhub,远程管理, 百度云盘,阿里云盘同步等)
- java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal
- Python提取Word中的图片
- 镂空数学符号空心体数学符号
- ▲ Android 签到打卡效果
- 全球与中国3D打印假肢市场深度研究分析报告
- 计算机二级msoffice选择题知识,2017计算机二级MSoffice选择题练习(含答案)
- 基于yolov5的火焰识别
- Qt生成二维码图片方法
- 如何优雅地追回被骗款项(上篇)