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