python基础学习之文件操作&函数
1、文件处理相关
1、编码问题
①python2与python3中的默认编码:
py2默认使用ASCII码,py3默认使用utf-8
②为什么会出现中文乱码,中文乱码的情况有哪些?
#sys.stdout.encoding,默认就是locale的编码,print会用sys.stdout.encoding去encode()成字节流,交给terminal显示。所以,locale需要与terminal一致,才能正确print打印出中文
下面还是直接给大家介绍下可以正确打印出中文的方式咯:
终端为utf-8,locale为zh_CN.GBK
终端为utf-8,locale为zh_CN.UTF-8
终端为GBK,locale为zh_CN.GBK
终端为GBK,locale为zh_CN.UTF-8
2、如何进行编码转换
字符串在python内部中是采用unicode的编码方式,所以其他语言先decode转换成unicode编码,再encode转换成utf-8编码。
3、#-*-coding:utf-8-*-的作用
起到编码声明的作用
4、解释py2 bytes vs py3 bytes的区别
python2将strings处理为原生的bytes类型,而不是unicode(python2 str == bytes)
python3所有的string均是unicode类型(python3需要通过unicode)
string -> encode -> bytes
bytes -> decode -> string
5、文件处理
①r和rb的区别:r是读模式,而rb是二进制读模式,即数据读到的内容直接是二进制bytes模式
②解释open中以下三个参数的作用:
open(f_name,'r',encoding='utf-8'):f_name是文件名,r是模式,encoding是编码方式
2、函数基础
1、写函数,计算传入参数的和。(动态传参)
def func_sum(x,y):
return x+y 或 lambda x,y:x+y
2、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作
#修改列表中字符串(首字母大写)
- def file_daxie(file):
- a = []
- for i in file:
- b = i.capitalize()
- a.append(b)
- print(a)
3、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否有空内容
- def file_k(file):
- n = 0
- for i in file:
- if i == ' ':
- n += 1
- print('有%s个空'%n)
4、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
- dic = {'k1':'v1v1','k2':[11,22,33,44]}
- def func(i):
- for k,v in i.items():
- if len(v) > 2:
- dic[k] = v[ :2]
- else:
- continue
- return i
- print(func(dic))
5、解释闭包的概念
闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(注:面向过程编程和面向对象编程也是编程范式)
闭包是一种组织代码的结构,它同样能提高代码的可重复使用性。
3、函数进阶
1、写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组
例如:[(‘红心’,2),(‘草花’,2),……(‘黑桃’,‘A’)]
- def cards():
- num = []
- for i in range(2, 11):
- num.append(i)
- num.extend(['J', 'Q', 'K', 'A'])
- type = ['红心', '草花', '方块', '黑桃']
- result = []
- for i in num:
- for j in type:
- result.append((j,i))
- return result
- print(cards())
2、写函数,传入n个数,返回字典{‘max’:最大值,‘min’:最小值}
例如:min_max(2,5,7,8,4)
返回:{‘max’:8,‘min’:2}
- def max_min(*args):
- the_max = args[0]
- the_min = args[0]
- for i in args:
- if i > the_max:
- the_max = i
- else:
- the_min = i
- return {'max': the_max, 'min': the_min}
- res = max_min(2, 4, 6, 48, -16, 486)
- print(res)
python基础学习之文件操作&函数的更多相关文章
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- Python基础学习四 文件操作(二)
####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...
- Python基础学习三 文件操作(一)
文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...
随机推荐
- C#异常重试通用类Retry
//Retry机制 public static class Retry { /// <summary> /// 重试零个参数无返回值的方法 /// </summary> /// ...
- HTML5外包团队 更新一下2019最新案例
本项目控件均为动态加载,3D部分使用Unity3D,其它基于ReactJS,NodeJS,部分使用cocos2D,由于项目涉密,只能发部分截图,欢迎联系索取更多案例,企鹅号 372900288 祝大家 ...
- leetcode02大数相加
惭愧惭愧,这道题居然卡了两天,犯了一堆错误,现在一一总结 错误 头一天我看给的测试用例误以为输入是数组,做了半天也无法输出链表的正确格式,后来把输入当成链表,才正确了 我没看到编辑器给了一套链表,自己 ...
- 改变选择文字的color及background-color
在一些特殊的网站中,常常会有着一些新奇的体验,在阅读网页的时候相信许多人都会和我一样有着一个习惯,把一些文字选中然后进行阅读,或者时要复制粘贴的时候选择文字对吧.然而无论是在ie,chrome,fir ...
- vue动态绑定src加字符串拼接
关键点 1.img中的src的字符串动态拼接 2.style中的background属性赋值 一.img中的src的字符串动态拼接 1.问题是这样子的,瞧瞧 基本网络链接 : http://openw ...
- ZJOI2019Day2AFO记
题目读下来感觉,,,怎么看上去模型都这么简单全是套路题的样子.先想了下T3应该会50,是个计算几何,50够了..于是先写了40(10分等下再来写)这样就花掉了一个小时.....过去看T1,直接高斯消元 ...
- numpy 数组索引数组
在numpy中,数组除了可以被整数索引,还可以被数组索引. a[b]就是已数组b的元素为索引,读取数组a的值. 当被索引数组a是一维数组,b是一维或则多维数组时,结果维度维度与索引数组b相同. a = ...
- C#操作SQLServer2012类
public class SqlServerService { public string CONN_STRING { get; set; } = "Data Source=.;Databa ...
- Vant-Weapp小程序+商城案例
功能还在进一步完善中,欢迎扫一扫提出宝贵意见! 详细信息可进群沟通:
- javascript高级程序设计第3版——第12章 DOM2与DOM3
12章——DOM2与DOM3 为了增强D0M1,DOM级规范定义了一些模块. DOM2核心:为不同的DOM类型引入了一些与XML命名空间有关的方法,还定义了以编程方式创建Document实例的方法: ...