字符编码转换
#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.可扩展性
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#返回数=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",23,1,4353,["32",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':'10','sex':'f'})
总结:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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'} #关键字参数变为字典