文章目录
- 输入输出
- 输入
- 输出
- 字符串编码格式
- 单个字符<->整数
- 字符串<->字节
- 字符串<->某种编码格式
- 字节<->某种编码格式
- 长度
- list操作[]
- dict操作{}
- set操作{}
- 判断变量类型
- 类型转换
- 大小写转换
- 生成随机序列
- Python内置函数使用指南
输入输出
输入
name = input() #input()返回的数据类型是str
name = input("请输入名字:")
输出
print()
- 打印数字
print(100)
print(100+200)
- 打印字符串
print('abc') //print默认回车
#逗号和空格=====================================================================
print('abc', 'def')#显示abc def,遇到逗号,增加空格
print('abc' 'def') #显示abcdef
#format:向字符串传值===========================================================
age = 10
name = 'xiao'
print('{}今年{}岁'.format(name,age)) #显示xiao今年10岁
print('{1}今年{0}岁'.format(age,name)) #显示xiao今年10岁
print('{name}今年{age}岁'.format(age,name))#显示xiao今年10岁
#字符串中值的格式===============================================================
print('{0:.3f}'.format(1.0/3)) #保留小数点后三位
print("{0:_^11}".format(name='xiao')) #^指定字符长度并居中, _ 表示用下划线填充
#换行相关=======================================================================
#end指定以空白结尾,使不回车
print('hello',end='')
#书写多行,显示多行
print('''nihao
hello,
你好''')
# \ 的使用======================================================================
#1.转义字符
#2.连接字符
print( \
5)
等效于 print(5)
print("hello\
world") #打印结果为 helloworld
#打印原始字符===================================================================
print(r"hello\n") #打印结果为 hello\n
字符串编码格式
单个字符<->整数
ord('A') #结果为65
chr(65) #结果为A
字符串<->字节
x=b'abc' //每个字符占一个字节
字符串<->某种编码格式
'abc'.encode('ascii') #结果为 b'abc'
'中文'.encode('utf-8') #结果为 b'\xe4\xb8\xad\xe6\x96\x87'
'中文'.encode('ascii') #报错,因为超出了ASCII范围
#在bytes中,无法显示为ASCII字符的字节,用\x##显示。
字节<->某种编码格式
b'ABC'.decode('ascii') #结果为 'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8') #结果为'中文'
b'\xe4\xb8\xad\xff'.decode('utf-8') #报错,包含无法解码的字节
#如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节;
b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore') #结果为 '中'
长度
#字符串计算字节数
len('ABC') #3
len('中文') #2
#字节计算字节数
len(b'\xe4\xb8\xad\xe6\x96\x87') #6
#list计算元素个数
classmates = ['Michael', 'Bob', 'Tracy']
len(classmates) #3
list操作[]
classmates = ['Michael', 'Bob', 'Tracy']
classmates.append('Adam') #在末尾添加元素
classmates.insert(1, 'Jack') #['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
classmates.pop() #'Adam' 删除末一个元素,并返回该元素的值
classmates.pop(1) #'Jack' 删除序号1对应的元素,并返回该元素的值
list(range(5)) #将序列转换成list
[list元素表达式 for循环语句] #生成list
//e.g. [x * x for x in range(1, 11)]#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
L[:3] #等效于L[0:3],等效于[L[0], L[1], L[2]],取前3个元素
L[-2:] #L[-2:-1],等效于[L[-2],L[-1]],取倒数2个元素
L[::] #所有数
L[::5] #所有数,每5个取一个
L[:10:2] #前10个数,每两个取一个
enumerate(['A', 'B', 'C']) #把一个list变成索引-元素对
dict操作{}
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Adam'] = 67 #修改value
d.get('Thomas') #返回None,但是不显示
d.get('Thomas', -1) #-1,指定不存在时显示的值
d.pop('Bob') #75,删除指定元素,并返回其value
d = {'x': 'A', 'y': 'B', 'z': 'C' }#for循环
for k, v in d.items():
print(k, '=', v) #y = B x = A z = C
set操作{}
s=set([1,2,3]) #创建set集合,需要list作为出入集合
s.add(4) #添加元素
s.remove(4) #删除元素
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
s1 & s2 #{2, 3},交集
s1 | s2 #并集{1, 2, 3, 4}
判断变量类型
#通过collections模块的Iterable类型判断是否为可迭代类型
from collections import Iterable
isinstance('abc', Iterable) #True str是否可迭代
isinstance(123, Iterable) #False 整数是否可迭代
isinstance(x, str) #判断是否为字符串类型
类型转换
str(10) #数字转换为字符
int('10') #字符转换为数字
int('abc') #报错
大小写转换
print(str.upper()) # 把所有字符中的小写字母转换成大写字母
print(str.lower()) # 把所有字符中的大写字母转换成小写字母
print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写
print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写
生成随机序列
rang(5) #生成0-5的整数序列
print(list(range(5))) #[0, 1, 2, 3, 4]
Python内置函数使用指南
- http://docs.python.org/3/library/functions.html#abs
- help(函数名)