熟悉了Python中的控制语句后, 就可以进一步探索Python了.
Python 常用的内置函数
所谓内置函数, 是不用导入其他模块, 就可以直接使用的函数
range()
它生成一个等差级数链表
range( [起始值, 0], <截止值>, [步长, 1]
)
range(3, 10, 3) # 3, 6, 9
list()
从可迭代(对象)中创建列表
list( <Iterable>
)
list(range(3, 10, 3)) # [3, 6, 9]
chr()
返回传入ASCII码对应的字符
chr( <int>
)
chr(65) # A
ord()
返回传入字符对应的ASCII码值
ord( <char>
)
ord('A') # 65
len()
返回传入集合长度
len( <集合>
)
len([1, 3, 5]) # 3
input()
接收控制台的输入内容
input( [“提示信息”]
)
input("请输入您的身高:")
float()
将传入数据, 转为 float类型
float( <str, int>
) raise ValueError
float(1) # 1.0
float("1.9") # 1.9
str()
将传入数据, 转为字符串
str( <object>
)
str({"A":1, "B":2}) # "{'A': 1, 'B': 2}"
int()
将传入数据, 转为 int 类型
int( <str, float>
) raise ValueError
int(1.9) # 1
int("1.9") # ValueError
isinstance()
判断数据是否指定类型
isinstance( <object>, <type>
)
x = 1.0
isinstance(x, float) # True
type()
返回传入数据的类型
type( <object>
)
type(1) == int # True
Python 字符集
bytes 类型数据
x = b'A' # bytes 类型数据
y = 'A'
print('x =', x, '\t' ,type(x)) # <class 'bytes'>
print('y =', y, '\t' ,type(y)) # <class 'str'>
z = ord(x)
print(z) # 65
字符编码
print('A'.encode('ASCII'))
print('森'.encode('GBK')) # b'\xc9\xad'
print('森'.encode('GB2312')) # b'\xc9\xad'
print('森'.encode('UTF-8')) # b'\xe6\xa3\xae'
ASCII码 范围 [0, 127]
GBK 和
GB2312 都是用两个字节表示UTF-8 用三个字节表示
x = b'\x41'
print(x) # b'A'
print(x.decode("ASCII")) # A
x = b'\xc9\xad' # => 11001001 10101101
print(x.decode("GB2312")) # 森
print(x.decode("GBK")) # 森
x = b'\xe6\xa3\xae' # => 11100110 10100011 10101110
print(x.decode("UTF-8")) # 森
print(len('ABC')) # 3
print(len('森A')) # 2
x = b'\xc9\xad'
print(x) # b'\xc9\xad'
print(x.decode("GBK")) # 森
print(len(x)) # 2
# 1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
print(len('森'.encode('utf-8'))) # 3
print(len('森A'.encode('utf-8'))) # 4
Python 字符串格式化
s = 'Hello %s' % ('World!')
print(s)
# %d 表示 整数
# %f 表示 浮点数
# %s 表示 字符串
# %x 表示 十六进制整数
# s = 'Age: %s. Gender: %s' % (25, True)
# s = 'Age: %d. Gender: %s' % (25, True)
# s = 'Age: %f. Gender: %s' % (25, True)
s = 'Age: %x. Gender: %s' % (25, True) # 十进制25传入, 会转化一次, 变为十六进制的 19
print(s)
s = 'Growth rate: %d%%' % (7) # 在使用格式化占位符的字符串中, 用 %% 来表示一个 %
print(s)
# 使用format方法, 格式化输出
s = 'Hello, {0}, 成绩提升了 {1:.2f}%'.format('小明', 17.125)
print(s)