Python基础
数据类型
字符串
字符串是不可变的
- 用
'或者"括起来的文本 - 可以通过
\转义字符来在文本中转义,进行\n换行\t制表 - 可以通过在文本前加
r表示文本不转义 - 用三个单引号
'''...'''的文本可以在内部直接换行而不需要\n
print("hello, world")
print("I\'m OK!")
print("\t文本")
print(r'''\\line1
line2
line3aaaa''')
python中的单引号和双引号的用法都是一样的,只是如果字符串中有相同字符时需要转义
布尔
True 真
False 假
布尔运算
and 与
or 或
not 非
空值
None表示空值
变量
定义变量
a=1
python是动态语言 因此可以将不同类型的变量赋值给同一变量
a=False
a="aa"
print(a)
常量
在python中常用全大写的变量名来表示常量
python中除法
/的结果为浮点数(即使整除),//为地板除,两个除法的结果仍为整数
print(10/3) 3.3333333333333335
print(10//3) 3
print(9/3) 3.0
print(9//3) 3
print(12.7//5.1) 2.0
print(1.2/3) 0.39999999999999997
编码
在python3中字符串以Unicode编码,
可以通过ord()函数获取字符的整数表示
可以通过chr()函数将编码转为对应字符
print(ord("😱")) //128561
print(chr(128561)) //😱
//当知道字符的整数编码,可以用16进制来写str
print('\u4e2d\u6587') //中文
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
python的字符串
str在内存中以Unicode表示,当在网上传输或者保存磁盘时,需要将其转为以字节为单位的bytes使用encode(),而当从网络或磁盘读取数据读到的是bytes,将butes转为str,使用decode()方法
可以通过encode()方法将str编码为指定的bytes
print("中文".encode("utf-8")) # b'\xe4\xb8\xad\xe6\x96\x87'
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')) #中文
#如果bytes中存在一小部分无效字节,可以添加errors='ignore'来忽略错误的字节
b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore') #中
len()函数用来计算str字符串的字符数,对于bytes则计算其字节数:
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6
为避免乱码,请坚持使用UTF-8编码进行转换,因此对于python的源码文件,指定其为UTF-8编码保存,并通过
# -*- coding: utf-8 -*-告诉编译器按照UTF-8读取源码
# -*- coding: utf-8 -*-
格式化
# 格式化
print("这是字符串的%s格式化" % ("栗豫塬"))
print("my name is %s age is %d height %.2f" % ("栗豫塬", 24, 17.0))