python之路——9
王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594
学习内容
- 1.文件处理
1.打开文件
open(‘路径’,‘打开方式’)
打开方式 r w a r+ w+ a+
ps: r+ 打开文件直接写,和读完再写不一样,光标会变
1.操作文件
a.读
read 一次性
readline 一行一行, 不知道在哪里结束
#视频 图片 rb打开 按照字节读
readlines 一次性读
for 循环-----最好用
b.写
write
c.光标 -----文件指针
seek 指定位置
tell 获取位置
truncate 截取文件
d.关闭
close
e.文件无法被直接修改,可以读—写—删除—重命名—— 完成
2.函数
a.没有返回值 (None)
1.不写return
2.只写return :return后面的函数体不执行
3.return None
b.返回一个值
任何数据类型,
c.返回多个值
return a,b,... 多个返回值需要多个变量分别接受
用一个变量接受,则以元祖形式存在
a.参数
实际参数,形式参数
参数设置
1.无参数
2.一个参数
3.多个参数, 位置参数,
实际参数角度:按照位置传,或者关键字传
形式参数角度:必须传,数量相同
4.定义函数时:
位置参数
默认参数,关键字参数
动态参数,*args位置传参 **kwargs 接受任意多个关键字参数
重要:顺序:位置参数+动态参数*args+默认参数+**kwargs
动态参数:
def func(*args): #组合序列 **kwargs 同样原理,打散字典
print(args)
func(1,2,3,4,5)
l = [1,2,3,4,5]
func(*l) #打散序列
a.函数注释
'''
函数功能
参数意义要求
返回值
'''
代码区
1.考试题
- 1.数字字母下划线任意组合,数字不能大头
- 2.1字节=8位
- 3.3字节 24位,2字节 16位
- 4. append
- 5.int 0 str'' list[] tuple{} dic{}
- 6.python2 复杂,重复代码多;编码方式不同;
- 7. l3 = li[0:-1:2]
- l4 = li[1:6:2]
- l5 = li[-1:6:-1]
- l6 = li[5:0:-2]
- 8a. lis[0][1][2]['k1'][0] = 'TT'
- lis[0][1][2]['k1'][0] = lis[0][1][2]['k1'][0].upper()
- lis[0][1][2]['k1'][1] = ''
- lis[0][1][2]['k1'] = ['TT', 3, 101]
- 8b. dic['k2'].append('')
- dic['k2'].insert(0, 'a')
- dic[(1, 2, 3, 4, 5)].setdefault('k4', 'v4')
- dic[(1, 2, 3, 4, 5)].setdefault((1, 2, 3), 'ok')
- dic[(1, 2, 3, 4, 5)]['k3'][2] = 'qq'
- 9. int--str 直接转换
- int--bool 0-False 其余True
- str--bool 空''- False 其余为True
- str--list split
- 10. s = li[0] + li[1] + li[2]
- print(''.join(li))
- print('*'.join(li))
- print(s.split('l', 1))
- 11. count = 0
- sum = 0
- while count < 99:
- count += 1
- if count %2 == 0:
- sum = sum - count
- else:
- sum = sum + count
- print(sum)
- sum1 = 0
- for i in range(100):
- if i % 2 == 0:
- sum1 = sum1 - i
- else:
- sum1 = sum1 + i
- print(sum1)
- 12.for i in range(100, -1, -1):
- print(i)
- 13.s = 'a1a2a3a4a5a6'
- count = 0
- x = 0
- for i in s:
- if i.isdigit() and count % 2 == 1:
- x += 1
- count += 1
- print(x)
- 14.li = [11, 22, 33, 44, 55, 77, 88, 99]
- result = {}
- for row in li:
- result.setdefault('k1', [])
- result.setdefault('k2', [])
- if row < 66:
- result['k1'].append(row)
- else:
- result['k2'].append(row)
- print(result)
- 14b.li = [11, 22, 33, 44, 55, 77, 88, 99]
- result = {}
- for row in li:
- if row > 66:
- if 'key1' not in result.keys():
- result['key1'] = []
- result['key1'].append(row)
- else:
- if 'key2' not in result.keys():
- result['key2'] = []
- result['key2'].append(row)
- print(result)
- 15.li = ['taibai', 'alexC', 'AbC', 'egon', 'Ritian', 'Wusir', ' aqc']
- res = []
- for i in range(len(li)):
- li[i] = li[i].strip()
- if li[i][-1] == 'c' and li[i].capitalize()[0] == 'A':
- res.append(li[i])
- print(li)
- print(res)
- 16.count = '5+8+7 +1'
- li = count.split('+')
- dic = {'最终计算结果': None}
- sum = 0
- for i in li:
- sum = sum + int(i)
- dic['最终计算结果'] = sum
- print(dic)
2.‘’修改‘’文件
- with open('log', encoding='utf-8') as f, open('log.bak','w',encoding='utf-8') as f2:
- for line in f:
- if '小刘' in line:
- line = line.replace('小刘', '')
- print(line)
- f2.write(line)
- import os
- os.remove('log')
- os.rename('log.bak', 'log')
python之路——9的更多相关文章
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
- Python之路【第八篇】:堡垒机实例以及数据库操作
Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...
随机推荐
- Regex-Golf
A man, a plan: 判断回文,如果不确定串长度情况下可以考虑利用反向引用构造pattern,例如: (.)\1 , (.)(.)\2\1 , (.)(.)(.)\3\2\1 ...但这里只 ...
- ILMerge合并多个DLL (转)
最近在研究CodeDom,用到ILMerge 序言 如果你的项目要提供多个dll给别人用,那么不妨让你的dll合并为一个,让别人看起来简洁,引用起来不会过于繁琐. 本篇比较少,但也算是比较实用吧. 下 ...
- STL 小白学习(2) string
#include <iostream> using namespace std; #include <string> //初始化操作 void test01() { //初始化 ...
- shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
VER=$(curl -s https://api.github.com/repos/v2ray/v2ray-core/releases/latest | grep tag_name | cut -d ...
- Forth 采用CODE定义新词
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- Caffe 根据log信息画出loss,accuracy曲线
在执行训练的过程中,若指定了生成log信息,log信息包含初始化,网络结构初始化和训练过程随着迭代数的loss信息. 注意生成的log文件可能没有.log后缀,那么自己加上.log后缀.如我的log信 ...
- 云硬盘性能测试工具FIO介绍
一.云硬盘的性能衡量指标 云硬盘的性能指标一般通过以下几个指标进行衡量 IOPS:每秒的读写次数,单位为次(计数).存储设备的底层驱动类型决定了不同的IOPS 总IOPS:每秒执行的I/O操作总次数 ...
- Jmeter的察看结果树 出现乱码的解决方法
在apache-jmeter-3.0\bin目录下, 用Notepad工具打开jmeter.properties文件 在文件中搜索encoding,可以搜素到1030行: #sampleresult. ...
- Jquery 相关笔记
//得到所有check var c = $(this).parent().find('input:checkbox'); if (c.is(':checked')) { var role = {}; ...
- TensorFlow函数:tf.random_shuffle
tf.random_shuffle 函数 random_shuffle( value, seed=None, name=None ) 定义在:tensorflow/python/ops/random_ ...