廖雪峰python学习笔记【2】数据类型、字符串和编码

一、数据类型和变量

    1. python大小写敏感。

    2. python采用缩进来组织代码块,代码块的上一行以冒号“:”结尾。

    3. 字符串
        3.1 r'...':'...'内的字符串默认不转义。print(r'\n\t\') #输出:\n\t\。
        3.2 '''...''':表示多行内容。

    4. 布尔值
        4.1 用True和False表示布尔值。
        4.2 用and, or和not进行布尔运算。

    5. 空值:用None表示,不同于0.

    6. python是动态语言,变量类型不固定。如value = 33, value = "lfc"

    7. python除法
        7.1 10 / 3 = 3.3333333...
        7.2 10 //3 = 3
        7.3 10 % 3 = 1

    8. " 对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值 不影响变量x的指向。"

二、字符串和编码

    1. 编码
        1.1 ASCII:仅支持英文字母,数字和特殊字符。
        1.2 GB2312:汉字专有编码。可能与日文专有编码,韩文专有编码等混淆。
        1.3 Unicode:所有语言全部统一到该编码中。一般两个字节表示一个字符,当表示英文字母时会有空间浪费的问题。
        1.4 UTF-8:解决了Unicode表示ASCII码时,空间浪费的问题。

    2. 计算机内存统一使用Unicode编码;当保存到硬盘或通过网络进行数据传输时自动转换成UTF-8编码。

    3. python3中的字符串采用Unicode编码。

    4. 可用ord和chr进行字符与整数间的转换
        4.1 ord('A') == 65, ord('中') == 20013,chr(66) == 'B'

    5. 对字符串类型str进行编码转换为字节流bytes,可以用str的encode方法:
        5.1 'ABC'.encode("ascii") == b'ABC' # 'b'表示字节码
        5.2 '中文'.encode("ascii") == b'\xe4\xb8\xad\xe6\x96\x87' # 'b'表示字节码

    6. 字节流bytes转换为字符串类型str,可以用bytes的decode方法:
        6.1 'ABC'.encode("ascii") == b'ABC'.decode("")
        6.2 b'\xe4\xb8\xad\xe6\x96\x87'.decode("utf-8") == '中文'

    7. len()函数计算字符串str有多少个字符数。
        7.1 len('中文') == 3
        7.2 len('中文'.encode("utf-8")) == 6

    8. python文件开头加上“# -*- coding: utf-8 -*-”,目的使python解释器按UTF-8读取文件中的源码。python文件中是否是按照UTF-8编码的,需要对编辑器进行设置。
        8.1 python2中不能显示中文:print('刘福春') # 乱码。解决方法???

    9. 格式化:print('Hi, %s, you have $%d.' % ('Michael', 1000000)) # 多个变量的值按顺序存放在小括号中。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值