• day4学python 字符编码转换+元组概念


     字符编码转换+元组概念

    字符编码转换

    #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",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'})


    总结:
    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'}  #关键字参数变为字典

  • 相关阅读:
    C++操作mysql方法总结(3)
    C++操作mysql方法总结(2)
    C++操作mysql方法总结(1)
    基于C++11的线程池
    C++ 类之间的互相调用
    C++编译与链接(1)-编译与链接过程
    C++判断char*的指向
    确保你想要修改的char*是可以修改的
    C++编译与链接(0)-.h与.cpp中的定义与声明
    C++获取private的变量-偷走private
  • 原文地址:https://www.cnblogs.com/cc123nice/p/10463611.html
Copyright © 2020-2023  润新知