Python基础

数据类型

字符串

字符串是不可变的

  1. 用'或者"括起来的文本
  2. 可以通过 \转义字符来在文本中转义,进行\n换行 \t制表
  3. 可以通过在文本前加r表示文本不转义
  4. 用三个单引号'''...'''的文本可以在内部直接换行而不需要\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

编码

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431664106267f12e9bef7ee14cf6a8776a479bdec9b9000

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