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来关闭文件
  • 相关阅读:
    Head first javascript(七)
    Python Fundamental for Django
    Head first javascript(六)
    Head first javascript(五)
    Head first javascript(四)
    Head first javascript(三)
    Head first javascript(二)
    Head first javascript(一)
    Sicily 1090. Highways 解题报告
    Python GUI programming(tkinter)
  • 原文地址:https://www.cnblogs.com/chmily/p/11317981.html
Copyright © 2011-2022 走看看