Python基础(一)数据类型和变量、字符串和编码

(摘录自https://www.liaoxuefeng.com/)
【数据类型】

整数:可处理任意大小整数,没有限制。十六进制以0x为前缀,用0-9,a-f表示(不区分大小写)。整数运算永远是精确的,包括除法。

浮点数:1.23 = 12.3e-1 = 1.23e0 = 0.123e1。浮点运算可能有四舍五入的误差。大小无限制,但超出一定范围会表示为inf。

字符串:用''或""括起来的任意文本。如果文本中含有'或者"则可能需要使用转义字符'\'。如"I'm ok",'I\'m \"OK\"'。'\n'表示换行,'\t'表示制表符。用r''表示''内部的字符默认不转义。用'''...'''表示多行内容。

布尔值:True、False。以and、or、not运算。

空值:None。不同于0。

【变量】

Python是动态语言,它的变量本身类型是不固定的,可以把任意数据类型赋值给变量,因而更加灵活。实际上,赋值过程是将变量指向数据对象。

【常量】

通常用大写变量名表示常量,但实质上仍为变量。

【除法】

除:9/3=3.0,10/3=3.3333333333333335

地板除:10//3=3

余数:10%3=1

【字符编码】

ASCII:只对大小写英文字母、数字和一些符号进行了编码,用1个字节表示一个字符。

Unicode:把所有语言统一到一套编码里,解决乱码问题。最常用的是用2个字节表示一个字符。但对于纯英文来说浪费存储空间,降低传输效率。

UTF-8:把Unicode字符根据不同的数字大小编码成1-6个字节。英文字母通常1个字节,汉字通常3个字节,只有很生僻的字符才会被编码成4-6个字节。节省空间。一个额外好处是,ASCII实际上可以看成UTF-8编码的一部分。

计算机内存中统一使用Unicode编码,需要保存到硬盘或者传输时转换为UTF-8编码。


【字符串】

Python3版本中字符串以Unicode编码,支持多语言。

ord()函数:获取字符的整数表示。

chr()函数:把编码转换为对应字符。

'\u4e2d\u6587'和'中文'等价。

bytes类型数据:Python中bytes类型数据用带b前缀的单引号或者双引号表示,如:b'ABC'。无法显示为ASCII的字节以\x##显示。

encode()方法:以Unicode表示的字符串通过encode()方法可编码为指定bytes。如:'ABC'.encode('ascii')=b'ABC','中文'.encode('utf-8')=b'\xe4\xb8\xad\xe6\x96\x87'。

decode()方法:bytes通过decode()方法可解码成字符串。如:b'ABC'.decode('ascii')='ABC',b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')='中文'。传入errors='ignore'可忽略错误字节。如:b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')='中'。

len()函数:针对字符串返回字符数,针对bytes返回字节数。如:len('中文')=2,len('中文'.encode('utf-8'))=6。

为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。如果源码中含有中文,则必须以UTF-8格式保存源码,并在文件开头加入以下内容保证解释器按UTF-8编码读取源码:

# -*- coding: utf-8 -*-

格式化

用%运算符格式化字符串。在字符串内部用:%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,%x表示用十六进制整数替换。

s%永远可用。单个%用%%转义表达。

'%02d'用0扩充成2位整数。'%2d'用空格扩充成2位整数。'%.2f'小数点后保留2位。

format()方法:用传入参数依次替换字符串内的占位符{0}、{1}……,如:

'Hello, {0}, 成绩提升{1:.1f}%'.format('小明', 17.125)='Hello, 小明, 成绩提升17.1%'。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值