字符编码转换+元组概念
字符编码转换
#coding:gbk //此处必声明 文件编码(看右下角编码格式) #用来得到python默认编码
import sys
print(sys.getdefaultencoding()) #python本身所有数据类型默认Unicode (与文件编码无关)
s="你好" #encode得到的其他编码是byte类型 decode得到的Unicode是str类型
print(s.encode("utf-8").decode("utf-8").encode("gb2312").decode("gb2312"))
@@@@@@@@@@@@@@@@@@@@@@@@
总结:一切编码都可解码为最大的Unicode 反之Unicode可转换为其他编码形式 ASCII==>GB2312 ==>GB18030==>GBK(常用中文编码) 中文编码演变
ASCII 英语占1个字节 8位 没有中文
万国码Unicode 所有字符都占2个字节 16位
=>>>>
升级成 可变长的编码UTF-8 所有英文字符 按照ASCII码占一个字节 中文字符占3个字节 python 3.0默认Unicode格式
========================================================================================
#函数作用
#1.代码重用
#2.保持一致性
#3.可扩展性
#返回数=0个 返回none
def fun1():
print(1) #返回数=1个 返回这个数
def fun2():
print(2)
return 0 #返回数>1个 返回元组组合
def fun3():
print(3)
return 1,[0,1,3,6],{"sa":"bi"} def num(x,y=2):
print(x,y)
num(1,2) #与形参列表一一对应
num(y=1,x=2) #位置参数都标出 与顺序无关
num(2,y=3) #关键参数只能放于位置参数后
num(2) #默认参数非必传 但也可给 并覆盖 def test(x,*args): #参数组 形参以*开头 只能接受位置参数 不能接受关键参数
print(x) #取出首位 接受多个参数其他位变为元组
print(args)
test("",23,1,4353,["",234],{"s":2})
test(*[1,32,43,2]) #**kwargs
def test2(**kwargs): #接受关键字参数变为字典形式
print(kwargs)
test2(name='cf',age=20,sex="man")
test2(**{'name':'al','age':'','sex':'f'})
总结:
def test3(name,age=18,*args,**kwargs): #按形参顺序 *args(反元组)位于一般形参后 **kwargs位于最后
print(name)
print(age)
print(args)
print(kwargs)
test3('cf',12,"s",sex="nan")
输出:
cf
12
('s',) #位置参数变为元组
{'sex': 'nan'} #关键字参数变为字典