zoukankan      html  css  js  c++  java
  • 2019.8.7学习内容及笔记

    总结

    字符编码

    回顾计算机基础:

    1. cpu:控制程序运行(从硬盘中取出文本编辑器的数据读入内存)
    2. 内存:运行程序(经CPU操作后,内存中含有的文本编辑器的数据)
    3. 硬盘:存储数据(文本编辑器)

    文本编辑器

    计算机只认识 0和1

    文本编辑器的作用:读写数据,保存数据

    Python解释器

    python解释器具有文本编辑的功能

    首先计算机只认识0和1,当用一个二进制编写时:如

    01010100111010-->a = 1,在python解释器没有运行的时候就是普通的5个字符

    定义变量就要开辟内存空间存放变量,因为内存只认识0和1,所以这一串字符要转换后才能被人认识

    字符编码

    字符编码:二进制和你所能认识的字符之间的相互转换的一个过程

    早起是用ascii码,因为各国所用的编程语言不一样,为了让人都能使用不同国家的语言进行编辑,所以需要一种万国语言(Unicode)

    什么情况下会出现乱码

    格式不统一的时候会出现乱码

    如:文本编辑器支持的是utf-8,你输入的是gbk-->文件的存储(乱码)

    ​ 文本存储用了utf-8,但是下一次打开用了gbk-->文件的读取(乱码)

    结论:当你打开所使用的文本编辑器,但是输入或者打开的文本不与之匹配,那么就会出现乱码

    解决乱码

    (牢记):什么格式存储,就什么格式读取,就不会乱码

    补充:windows电脑的记事本默认为gbk编码,除此之外其它的软件默认编码为utf-8

    python解释器运行代码流程

    1. 启动python解释器(相当于文本编辑器)
    2. 打开文件,显示这个字符并检出语法(涉及字符编码,a = 1只是一个很普通的字符)
    3. 解释字符(涉及字符编码,再去内存空间,生产一个a = 1 的变量)

    python2和python3区别:

    python2用的是ascii编码,python3默认是utf-8读取字符

    coding:gbk 会告诉python3解释器用gbk编码读取字符

    python3了解

    python3用unicode进行字符编码

    假设终端的默认编码是gbk,认识unicode 编码的变量,不会乱码

    假设终端的默认编码是utf-8,认识unicode编码的变量,不会乱码

    python2了解

    python2是通过unicode+指定的coding编码(str类型)

    终端是一个文本编辑器,会有默认编码

    假设终端的默认编码是gbk,认识gbk编码的变量,不会乱码

    假设终端的默认编码是utf-8,不认识gbk编码的变量,就会有乱码

    文件的三种打开模式

    1. r : read,只能读不能写,文件不存在时会报错
     #文件内容拿出来,读一行少一行
    print(f.read()) 读取文件内所有内容
    循环:
    for i in f:
        print(i)
    
    f=open('price.txt','r',encoding='utf-8')
    print(f.readable()) #判断是否可读  #true
    f.close()
    
    1. w: write,只能写不能读,清空后再写入
    f=open('price.txt','w',encoding='utf-8')
    f.write('nick handsome')
    f.close
    
    
    1. a :append 追加,在文件末追加
    f=open('price.txt','a',encoding='utf-8')
    f.write('chen')
    f.close
    

    with管理文件上下文

    文本模式 t

    f = open('test.py','rt')
    data= f.read()
    print(data)
    

    进制模式b (一般用于对图片的处理)

    f = open('python2和3的字符编码的区别.png', 'rb')
    data=f.read()
    print(data)
    

    补充:with open(文件内容如:'test.txt', 'rt', encoding='utf8')as fr1

    with open 与 open的区别:

    1. with open可以一次打开多个文件,可以在格式后面继续添加要打开的文件作为fr2...,以逗号分开,以 表示换行,这样可以做到只用一个open就能打开多个文件
    2. with open 是自动关闭文件,不要想open 那样还以使用 f.close来关闭文件
  • 相关阅读:
    用java实现的微信公众号爬虫
    装饰模式
    输入一个数,查询该数是否为素数
    Machine-learning-DecisionTree
    Circles of Waiting
    GRE阅读
    云数据库POLARDB产品解读之二:如何做到高性价比
    奉上一份云上数据安全保护指南
    从双十一看阿里云安全的“创世纪”——采访阿里云安全掌门人肖力有感
    阿里云移动研发平台EMAS,是如何连续5年安全护航双11的?
  • 原文地址:https://www.cnblogs.com/chmily/p/11317981.html
Copyright © 2011-2022 走看看