zoukankan      html  css  js  c++  java
  • 第三章练习题及答案

    1.编码问题

    请说明python2 与python3中的默认编码是什么?

    # 答案 py2默认ASCII码,py3默认的utf8

    为什么会出现中文乱码?你能列举出现乱码的情况有哪几种?

     

    # 答案 #coding:utf-8 #.py文件是什么编码就需要告诉python用什么编码去读取这个.py文件。 sys.stdout.encoding,默认就是locale的编码,print会用sys.stdout.encoding去encode()成字节流,交给terminal显示。所以locale需要与terminal一致,才能正确print打印出中文。 sys.setdefaultencoding(‘utf8’),用于指定str.encode() str.decode()的默认编码,默认是ascii。 以下几种(local 为软件运行时的语言环境): 终端为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编码

    #-*-coding:utf-8-*- 的作用是什么?

     

    编码声明

    3.解释py2 bytes vs py3 bytes的区别

     

    # 答案 Python 2 将 strings 处理为原生的 bytes 类型,而不是 unicode(python2 str == bytes), Python 3 所有的 strings 均是 unicode 类型(python3 中需要通过 unicode ) string -> encode -> bytes bytes -> decode -> string

    4.文件处理

    r和rb的区别是什么?

     

    # 答案 r 读模式 rb 二进制读

    解释一下以下三个参数的分别作用

     

    # 答案 open(f_name,'r',encoding="utf-8") f_name 文件名 r 模式 encoding 编码方式

    5.函数基础:

    写函数,计算传入数字参数的和。(动态传参)

     

    # 答案 def func_sum(x, y): return x + y 或 lambda x , y : x +y

    写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作

     

    # 答案 # 修改列表中字符串首字母大写 def file_daxie(file): a=[] for i in file: b=i.capitalize() a.append(b) print(a)

     写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。

     

    # 答案 def file_k(file): n=0 for i in file: if i==‘ ‘: n+=1 print(‘有%s个空‘%n)

     写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

     

    dic = {"k1": "v1v1", "k2": [11,22,33,44]} PS:字典中的value只能是字符串或列表 #答案 def func(i): # i为所传字典 for k, v in i.items(): if len(v) > 2: dic[k]= v[:2] else: continue return i print(func(dic)) {'k1': 'v1', 'k2': [11, 22]}

    解释闭包的概念

     

    闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。
      在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。
      闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。
  • 相关阅读:
    UE 不生成.bak文件
    DOTWeen 使用
    unity admob
    UGUI 判断元素进入舞台
    unity 解决ScrollRect嵌套滚动问题
    oc字符串与c字符串转换和拷贝
    Object-c中的单例
    JAVA比较两个List集合的方法
    CentOS 7 配置静态IP
    CentOS7安装Jdk1.8
  • 原文地址:https://www.cnblogs.com/cnlogs1/p/9571924.html
Copyright © 2011-2022 走看看