1.字符串str类型,不支持修改。

2.关于集合的学习:

(1)将列表转成集合set:集合(set)是无序的,集合中不会出现重复元素--互不相同

(2)集合的操作:交集,并集、差集、对称差集、父集、子集、增加、删除、求长度,但是不允许修改

3.文件操作

(1)对文件操作的流程:

》》1.打开文件,得到文件句柄并赋值给一个变量

》》2.通过句柄对文件进行操作

》》3.关闭文件

#文件操作

f=open("B:/Python/PycharmCode/pyDay2/test.txt","r+")#打开文件

print("打印第一行".center(50,"*"))

print(f.readline())#读一行

print("剩下的内容:")

print(f.read())

f.close()#关闭文件

#如果提示编码问题,可以在打开文件的时候指定编码格式,

encoding=“utf-8”

(2)打开文件的模式:

r: 只读模式, r+:读写模式

w:只写模式 w+:写读模式

a+:追加读写

rb:针对二进制文件读,例如视频、音频文件

wb:针对二进制文件写入

(3)文件的常用操作:

f.seek(0,0)#将内存中的文件指针移到文件开头

print("打印前五行")

for i in range(5):

print(f.readline())

f.seek(0,0)

print(f.read(10))#文件指针在当前位置开始往后读取第十个字符

#打印所有内容

# for line in f.readlines():

# print(line.strip())#忽略空格

#high bige

读一行,取一行,这种效率更高,占用内存空间小(推荐这种方式)

for line in f:

print(line)

#用这种方式 不打印第十行,其余都打印

f.seek(0,0)

i=0

for line in f:

if i==9:

print("------------+++++++")

i+=1

continue

print(line)

i+=1

print("不打印第十行,其余的都打印出来")

#low 全部读取大内存中,然后在输出,浪费内存空间(不好)

for index,line in enumerate(f.readlines()):

if index==9:

print("------------------")

continue

print(line.strip())

print(f.tell())#显示当前指针所在地方

print(f.encoding)#读取文件编码

print(f.name)#输出文件名字

print("...............................")

f.seek(0)

f.truncate(10)#文件截断

print(f.read())

f.close()#关闭文件

4.模拟打印进度条信息

#打印进度条信息

import sys,time

for j in range(100):

sys.stdout.write("#")

sys.stdout.flush()

time.sleep(0.2)#延迟0.2秒

5.python中的文件编码问题

python2中默认编码为ASCII,python3.x中默认编码为Unicode

decode解码时参数为原来的编码类型,encode编码时参数为新的编码类型

编码的转换时:都要使用Unicode作为中介,utf-8---->unicode--->GBK;;gbk--->unicode--->utf-8

在字符串前面加上u,表明它是Unicode编码:eg.

s=u”你好”

print(s)

---------------------------------------------------------------------------------------------------------------

importsysprint(sys.getdefaultencoding())#打印默认编码格式

s="你好,我是Wujian" #python3中默认编码为Unicode

print(s)

s1=s.encode("utf-8")#字符串str类型通过encode编码成了字节包bytes,编码成了utf8

print("utf-8:",s1)

s2=s1.decode("utf-8").encode("utf-8")print(s2)print("gbk:",s1.decode("utf-8").encode("gbk"))print(s1.decode())

6.文件内容的修改

f=open("test.txt","r",encoding="utf-8")

f2=open("test2.txt","w",encoding="utf-8")#print(f.read())

for line inf:if "让我掉下眼泪的" inline:

line=line.replace("让我掉下眼泪的","让我们彼此掉下眼泪的")

f2.write(line)else:

f2.write(line)

f.close()

f2.close()

7.with语句的使用:自动关闭文件

#with 语句,会自动进行文件的关闭

with open("test2.txt","r",encoding="utf-8") as f:for line inf:print(line)

*

小提示:打开多个文件时,python官方推荐的编程规范是每行不超过80个字符,多的换行使用“\”

#一行写不下,可以换多行

with open("test.txt","r",encoding="utf-8") as f,\

open("test2.txt","r",encoding="utf-8") as f2:for line inf:for line2 inf2:if line2==line:print(line)

f2.seek(0)

8.三种编程范式:面向过程编程,面向对象编程,函数式编程

简单的理解:在python中过程与函数的区别:过程是没有return返回值的函数,

#面向过程、面向对象、函数式编程

deffunc1():"关于函数的使用说明:func1为一个过程"

print("hello ,in the func1")

func1()deffunc2():"func2:为一个函数"

print("in the func2")return 100

print(func2())

#每次打印日志时加上当前时间

importtimedeflog():#"log:为一个打印日志的函数。"

time_format="%Y-%m-%d %X"#定义时间的样式

#%Y 四位数的年份表示(000-9999)%m 月份(01-12) %d 月内中的一天(0-31)%X 本地相应的时间表示

time_current=time.strftime(time_format)

with open("test3.txt","a+",encoding="utf-8") as f:

f.write("%s I'm writing the log now \n"%time_current)deffunc3():

log()

func3()

time.sleep(2)deffunc4():

log()

func4()

小提示:python中return可以返回多个值:且不同类型的值

总结:返回值数为0:None

返回值数为1:object

返回值数为多个:tuple元组类型

返回值为一个函数:如果打印出来则为该函数的地址

9.python中的参数详解:

#关于python中的参数#参数:形参、实参;默认参数、位置参数、关键字参数、字典参数

def func1(x,y,z=99):#z为默认参数:默认参数非必须传递

print(x)print(y)print(z)

func1(5,12)#默认位置参数:与形参的位置一一对应

func1(x=3,y=4)#关键字参数:与形参顺序无关

func1(y=10,x=20)

func1(8,y=9)#原则:关键字参数不能放在位置参数之前

func1(0,z=25,y=9)def func2(*args):#设置一个参数组,可以传递多个参数;将N个关键字参数转成元组的方式

print(args)

func2(1,2,5,8,40,"hello",["momoda","memn"])#默认以元组的方式传递

func2(*[1,2,3,4,5]) #args=tuple([1,2,3,4,5])

def func3(**kwargs):#字典参数:将N个关键字参数转成字典的方式

print(kwargs)

func3(name="jean",age=22,sex="M")

func3(**{"name":"jean","age":22,"sex":"M"})#同样也可以取出字典参数中的值

def func4(**kwargs):print(kwargs["name"])print(kwargs["age"])print(kwargs["sex"])print(kwargs)

func4(name="Jean Steve",age=25,sex="Man")

10.局部变量与全局变量

#局部变量与全局变量的说明#全局变量作用域整个程序,局部变量作用于某函数内#当局部变量与全局变量同名时,在定义局部变量的子程序内:局部变量起作用;其余地方:全部变量起作用

name="Jean Steve"#全局变量

school="SMU"

defchange_name(name):print("before name:%s"%name)

name="Huadd"#这个函数就是局部变量的作用域

print("after changed name:%s"%name)#在局部修改全局变量 需要申明global

#!!!但是非常不建议这么做,因为函数经常被其他函数多次调用,容易把程序员自己也搞混,容易出错

globalschool

school="UESTC"change_name(name)print(name)print(school)

names=["Jean","Rawal","Rosey"]defchange():

names[1]="Rwwww"#针对列表这种类型的全局变量,在局部函数中不用申明global也可以直接修改

change()print(names)

11.python中关于函数的递归

# 递归的特点:

# 1.明确的结束条件

# 2.问题的规模每递归一次都应该比上一次的问题规模有所减少

# 3.效率低

#python中关于函数的递归

deffunc(n):while n>=0:print(n)return func(n-1)

func(5)defcalculate(n):"计算一个数的阶乘"

while n>1:return n*calculate(n-1)else:return 1res=calculate(6)print("阶乘的结果为:",res)

12.高阶函数:与数学中的复合函数类似,函数的互相嵌套

#高阶函数

deffunc(a,b,f):

res=f(a)+f(b)print(res)#求两个数的绝对值之和

func(-5,4,abs)#abs绝对值函数

13.作业

python第三周笔记_第三周 day3 python学习笔记相关推荐

  1. python函数增强代码可读性_如何提高代码的可读性 学习笔记

    本文整理自 taowen 师傅在滴滴内部的分享. 1.Why 对一线开发人员来说,每天工作内容大多是在已有项目的基础上继续堆代码.当项目实在堆不动时就需要寻找收益来重构代码.既然我们的大多数时间都花在 ...

  2. python绘制直方图的函数_(六)pyplot基础图表函数(学习笔记)|python数据分析与展示...

    1.pyplot基础图表函数概述 2.pyplot图饼的绘制 3.pyplot直方图的绘制 4.pyplot极坐标图的绘制 5.pyplot散点图的绘制 6.单元小结 [网页链接[Python数据分析 ...

  3. 马哥 mysql教学笔记_【马哥linux学员学习笔记】MySQL多实例详解

    本文作者系马哥linux学员云中鹤. 学习联系QQ:1660809109.1661815153.2813150558 马哥Linux运维 更多资讯:www.magedu.com 目录 一.基本概念 1 ...

  4. python笔记_第三周

    python笔记_第三周 第十天 回调函数 回调函数就是一个被作为参数传递的函数把函数a当做一个值 赋值给函数b的形参, 在调用函数b的时候 在函数体内 适当的实际调用函数a, 这个函数a就是回调函数 ...

  5. 《Python编程:从入门到实战》(第2版)学习笔记 第5章 if语句

    [写在前面]为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的<Python编程:从入门到实战> ...

  6. python多元线性回归预测法,Python-Tensorflow2.3.0-多元线性回归预测(学习笔记)

    Python-Tensorflow2.3.0-多元线性回归预测(学习笔记) Python-Tensorflow2.3.0-多元线性回归预测(学习笔记) 编译器环境:win10-Anaconda3-py ...

  7. python三十三节_第三十三节,sys解释器相关模块

    首先要引入import sys模块 sys.argv 功能:获取向脚本文件传入的参数,返回的列表,列表里的第一个元素是脚本文件路径和名称,后面的元素是传入的向脚本传入的参数 使用方法:sys.argv ...

  8. 《深度学习》:CANN训练营_昇腾AI入门课学习笔记(第三章 AI应用开发、第四章 直播视频)

    文章目录 第三章 AI应用开发 C&C++和Python水平要求 Linux水平要求 云服务环境申请&AI应用体验 申请云环境(重点) 账号名 项目ID 接收共享镜像 代金券 购买服务 ...

  9. 如何用python抓取qq音乐_手把手教你使用Python抓取QQ音乐数据(第三弹)-阿里云开发者社区...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  10. python数据分析要学多久_如何七周成为数据分析师18:Python的新手教程

    本文是<如何七周成为数据分析师>的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南.温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或只挑选部分. Python是近年来 ...

最新文章

  1. USBSpirit(USB精灵)更新到1.2.300.105
  2. Markdown编辑器的使用方法
  3. 基于springMVC拦截器实现操作日志统计
  4. 虚拟主机创建虚拟lan_创建虚拟背景应用
  5. ajax jq 图片上传请求头_Jquery ajaxsubmit上传图片实现代码
  6. hdu 4738 Caocao's Bridges 求无向图的桥【Tarjan】
  7. 在MyEclipse中,jsp文件输入中文,文件不能保存
  8. smokeping主从同步报错
  9. HTML与CSS各种代码与用法,几种关于html和css的使用方法
  10. 20155327-20155329信息安全技术实验一实验报告
  11. 371. Sum of Two Integers (Binary)
  12. 朱松纯:三读《赤壁赋》,从人工智能的角度解读“心”与“理”的平衡
  13. 【信号与系统|吴大正】2:连续系统的时域分析
  14. 五一期间完成了某市交警系统的一个系统升级迁移项目
  15. 基于微信小程序奶茶店在线点单管理系统#毕业设计
  16. 微信吸粉技巧:微信群怎么玩?
  17. Qt Android 调用系统文件管理
  18. 有关C#中重写按钮的onpaint函数,实现按钮形状的用户自定义
  19. 真假屏幕测试软件,四个小技巧,检测 iPhone 屏幕是否为原装屏
  20. tf.nn.conv2d()函数详解(strides与padding的关系)

热门文章

  1. epoll反应堆模型
  2. 原码,反码,补码的转换
  3. C语言数组初始化骚操作
  4. Jetpack学习-Paging
  5. 计算机软件著作权怎么审查,申请软件著作权的受理及审查是怎样的?
  6. C语言 请给小学生随机出10道加减法的练习题,要求:10以内的加减法,并且能批改。
  7. jupyter中interrupt the kernel(中断)没有反应
  8. 同花顺_知识_看盘技法
  9. ansible部署和基本的操作
  10. 最简单的音频剪切和合并