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知识点梳理相关推荐

  1. 华清远见-重庆中心-框架阶段技术总结/知识点梳理

    文章目录 华清远见-重庆中心-框架阶段技术总结/知识点梳理/个人总结 框架 Java主流框架 Spring 概念 组成 名词解释 IOC DI Spring控制台应用 1.创建一个普通的Maven项目 ...

  2. python开发基础戴歆第四章_第一阶段:Python开发基础 day04 课后练习

    第一阶段:Python开发基础 day04 课后作业 1.简述python的五大数据类型的作用.定义方式.使用方法 数字类型 字符串类型 列表 字典 布尔型 答:数字类型分为整型(int)和浮点型(f ...

  3. 【Python知识点梳理】10.Python的垃圾回收机制、代码规范及命令行参数

    Python的垃圾回收机制.代码规范及命令行参数 文章目录 1.Python的垃圾回收机制 2.Python的引用计数机制 3.Python中的循环数据结构及引用计数 4.Python中的GC模块 5 ...

  4. 第一阶段:Python开发基础 day18 模块的使用(三)

    目录 上节课内容回顾 一.numpy模块 一.numpy简介 二.为什么用numpy 三.创建numpy数组 五.获取numpy数组的行列数 六.切割numpy数组 七.numpy数组元素替换 八.n ...

  5. 华清远见-重庆中心-数据库阶段技术总结/知识点梳理/个人总结/面试题解析

    目录 Java Web阶段核心内容 (一)初识Web 1.JavaWeb定义 2.B/S与C/S模式 3.网站与网页 4.Tomcat服务器 5.Maven 6.常见的Http状态码 7.Servle ...

  6. 华清远见-重庆中心-数据库阶段技术总结/知识点梳理/个人总结/关于JavaWeb技术的解析(看法)

    JavaWeb 使用Java开发Web服务的技术,统称为JavaWeb. B/S与C/S模式 B/S:Browser/Server 浏览器/服务器模式 用户只需要一个浏览器即可访问服务器 C/S:Cl ...

  7. 华清远见-重庆中心-数据库阶段技术总结/知识点梳理/个人总结

    文章目录 前端.后端.数据库 数据和信息 数据库 数据库管理系统 总结 常见的数据库管理系统 关系型数据库 非关系型数据库 MySQL8.x的安装和使用 1.下载 2.卸载 3.安装 MySQL控制台 ...

  8. 【Python知识点梳理】5.Python内置函数

    5.Python内置函数 文章目录 1.内置函数简介 2.数据运算 3.类型转换 4.序列操作 5.Set集合 7.其他内置函数 6.综合练习 总结 1.内置函数简介   任何一门编程语言的核心操作都 ...

  9. 华清远见-重庆中心-JavaWeb阶段技术总结/知识点梳理/个人总结

    文章目录 JavaWeb B/S与C/S模式 网站 网页 网络服务器 Tomcat 下载 目录结构 Maven 使用IDEA创建基于Maven的Web项目 1.新建webapp模板 2.设置项目名称和 ...

最新文章

  1. 三大新闻机构起诉FBI,FBI与苹果大战续集开幕?
  2. 深度学习与机器学习的思考
  3. 疯狂kotlin讲义连载之运算符和表达式——区间运算符
  4. mysql退出当前数据库,再次 show databases
  5. Haskell语言实现判断一个整数是否是质数的代码及运行结果
  6. 比较OpenBLAS,Intel MKL和Eigen的矩阵相乘性能
  7. java的流套接_java-使用流关闭套接字
  8. Mac下svn搭建和使用方法
  9. 具体数学:计算机科学基础:第2版
  10. String类型直接赋值与构造赋值
  11. bootstrap 仿实例
  12. C语言实现多人坦克大战
  13. 一招教你电脑微信双开
  14. WIndows禁用笔记本键盘
  15. 分享一款上班摸鱼神器,再也不怕领导突然出现在身后了~
  16. EasyExcel3.0.5 解决大数据导入导出,防止OOM
  17. nginx 按天分割日志
  18. 《大数据时代:生活、工作与思维的大变革》:看“大数据时代预言家”的真知灼见
  19. redis requires ruby version 2.2.2的解决方案
  20. 你还在问我Bean的生命周期?带你看看一个Spring Bean从诞生到逝去的九次人生转折!

热门文章

  1. 树莓派4b: 初级使用(Ubuntu21.10,Windows11写入SSD,远程连接,软路由搭建,webmin安装,自建Dockerhub,远程管理, 百度云盘,阿里云盘同步等)
  2. java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal
  3. Python提取Word中的图片
  4. 镂空数学符号空心体数学符号
  5. ▲ Android 签到打卡效果
  6. 全球与中国3D打印假肢市场深度研究分析报告
  7. 计算机二级msoffice选择题知识,2017计算机二级MSoffice选择题练习(含答案)
  8. 基于yolov5的火焰识别
  9. Qt生成二维码图片方法
  10. 如何优雅地追回被骗款项(上篇)