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基础学习之文件操作&函数的更多相关文章

  1. python学习笔记-(七)python基础--集合、文件操作&函数

    本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...

  2. python基础学习笔记——文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  3. Python基础学习四 文件操作(二)

    ####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...

  4. Python基础学习三 文件操作(一)

    文件读写 r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[不可读: 不存在则创建:存在则只追加内容:] r+,[可读.可写:可追加,如果打开的文件不存 ...

  5. Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数

    1.        集合 1.1      特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...

  6. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  7. Python基础-week03 集合 , 文件操作 和 函数详解

    一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...

  8. Python基础7:文件操作

    [ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...

  9. Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法

    知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...

随机推荐

  1. ios开启双重认证之填坑式教学

    2019.03.01.阳光明媚(不,,,有些雾霾..) 本来打算发布一个新版本app,修复一些小小bug, 然而,打包出错了,,错误是显示账号无连接.. 顿时慌出了天际,,以为是账号的证书问题,,最烦 ...

  2. 在Rancher 1.6上部署Traefik负载均衡器

    一.给Traefik主机打标签 01-给即将部署Traefik的主机节点打上标签.jpg 02-主机打完traefik_lb标签后的状态.jpg 二.在Rancher应用商店中部署Traefik 应用 ...

  3. PyQt5——隐藏控件并保留位置

    原文地址:https://blog.csdn.net/qq_38161040/article/details/86605798 ———————————————————————————————— 设置控 ...

  4. (7)udp-socket

    # upd 协议:(1)#client 端口:import socketsk = socket.socket(type=socket.SOCK_DGRAM)message = "我来了大哥& ...

  5. C# interface 的隐式与显示实现及适应范围源码演示

    把代码过程中经常用到的一些代码段做个记录,如下的资料是关于C# interface 的隐式与显示实现及适应范围演示的代码. interface IAnimal { void Dog(); } clas ...

  6. 了解Activity生命周期

    当用户浏览,退出和返回您的应用时,您应用中的activity实例会在其生命周期中的不同状态中进行转换. Activity类提供了许多回调,允许activity知道状态已更改:系统正在创建,停止或恢复a ...

  7. windows编程命名规则

    转自:http://blog.sina.com.cn/s/blog_52cbfc3f0100fdy6.html 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名=属性+类型+对象描述.其中每一对 ...

  8. CF923E Perpetual Subtraction

    生成函数好题! 搬一手铃悬的题解(侵删) 现在只需要考虑怎么求出g和逆变换即可,其实也就是对函数F(x)求F(x+1)和F(x-1). 直接二项式定理展开发现是个卷积的形式,大力NTT即可. #inc ...

  9. git 拉取远程代码

    git 拉取远程代码 || 利用vscode编辑器自带了git,可在ctrl+~打开控制台拉取代码,非常好用哦~在实际项目开发过程中,往往是已经存在远程项目了,我们定义的需求是只需要简单的操作git, ...

  10. Ubuntu18.04: GPU Driver 390.116 + CUDA9.0 + cuDNN7 + tensorflow 和pytorch环境搭建

    1.close nouveau 终端输入:sudo gedit /etc/modprobe.d/blacklist.conf 末尾加两行 blacklist nouveau options nouve ...