文章目录

  • 输入输出
  • 输入
  • 输出
  • 字符串编码格式
  • 单个字符<->整数
  • 字符串<->字节
  • 字符串<->某种编码格式
  • 字节<->某种编码格式
  • 长度
  • 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内置函数使用指南

  1. http://docs.python.org/3/library/functions.html#abs
  2. help(函数名)