< gbk <。
关于 , 它像是一个通用数据结构 , 任何字符编码都可以通过一定规则换算成编码 , 这种换算就是(解码、译码) 。前面我们花了很多时间理解 gbk之间的转换 , 可能还是不太能记住哪个才是 , 哪个才是 。这里有个方法:
还有一点要注意 , 从拼写上看 , union of code , 是个概念、口号、通用字符编码规则 , 并不是某个具体的字符编码 , 它没有对应的字符集 , 对象仅仅意味着 , 这个对象对应的内存中的二进制数据是字符串 , 它是哪个地区的语言 , 对应哪个编码 , 该怎么显示 , 并不知道 。所以你看不到终端设备将字符串以形式输出的(除非你是要那种加工的方式) , 所以在print 的时候 , 它知道要从标准输出取其对应的字符编码 , 转码()之后再输出 , 这样的输出才是人类语言 。那你可能要问了 , 有啥用呢?
它解决了一个关键问题:字符码(Code Point)和字符的一对一关系 , 这样我们就能正常获取字符长度 , 做字符串切割和拼接也不在话下 。
这就是str和之间最重要的区别 。尽管的编码也是2个字节 , 但是知道这2个字节是一起的 , 其他字符编码就做不到这个 。
18、函数的功能介绍
定义函数发生的事情
1、申请内存空间保存函数体代码节
2、将上述内存地址绑定函数名
3、定义函数不会执行函数体代码 , 但是会检测函数体语法
调用函数发生的事情
1、通过函数名找到函数的内存地址
2、然后加口号就是在触发函数体代码的执行
形参与实参的关系
1、在调用阶段 , 实参(变量值)会绑定给形参(变量名)
2、这种绑定关系只能在函数体内使用
3、实参与形参的绑定关系在函数调用时生效 , 函数调用结束后解除绑定关系
def List_test(list):list.append(4)def var_test(value):value = http://www.kingceram.com/post/value + 1list = [1, 2, 3]List_test(list)print(list) # [1, 2, 3, 4]value = 1var_test(value)print(value) # 1
中的函数内存操作图文详解
def fun(a):a[1] = [200]list_target = [1,[2,3]]fun(list_target) #改变的是传入的可变对象print(list_target[1])
在方法区中存储的是函数代码 , 不执行函数体 。
调用函数时 , 会开辟一块内存空间 , 叫做栈帧 , 用于存储在函数内部定义的变量(包括参数) , 并且函数执行完毕 , 栈帧立即释放 。
函数内存剖析图如下:
关于不可变量的值为什么没有改变 , 原理如下:
20、第三方库的使用
time与模块
在中 , 通常有这几种方式来表示时间:
时间戳():通常来说 , 时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 。我们运行“type(time.time())” , 返回的是float类型 。
格式化的时间字符串( )
结构化的时间():元组共有9个元素共九个元素:(年 , 月 , 日 , 时 , 分 , 秒 , 一年中第几周 , 一年中第几天 , 夏令时)
import time#--------------------------我们先以当前时间为准,让大家快速认识三种形式的时间print(time.time()) # 时间戳:1487130156.419527print(time.strftime("%Y-%m-%d %X")) # 格式化的时间字符串:'2017-02-15 11:40:53'print(time.localtime()) # 本地时区的struct_timeprint(time.gmtime())# UTC时区的struct_time
- python3编译成exe运行_python3
- python在线环境
- 滑动验证码滑块 python爬虫selenium行为链登录12306(解决特征
- python anaconda安装包错误之FileNotFoundError
- 5个常见运维场景,用这几个Python脚本就够了!
- python 三个平行样选择性剔除异常值后求平均值Nekotaizi
- 个人工作感悟漫漫谈
- 三极管的3种工作状态
- VPN是什么、类型、使用场景、工作原理
- Iterations python——迭代和生成器(Generators)、可