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))