2016/12/31_Python

2017-01-01 03:17

  今天学习主要内容:

    Python:

      1、with语句(补充昨天的文件操作)

         用with打开的文件在脚本结束会自动关闭,以防普通打开方式忘记关闭文件连接

         语法:  with open("demo.txt","r",encoding="utf-8") as file:

                for line in file:

                  print(line)

      2、字符编码的操作

        1)在Python3.x中,默认的编码是Unicode码;在Python2.x中,默认的编码是ascii码

        红色箭头是解码(decode),绿色箭头是编码(encode)

        UTF-8→Unicode→GBK  GBK→Unicode→UTF-8;

        2)import sys

           print(sys.getdefaultencoding())  #获取编码格式

      3、函数

        1)利用关键字def定义一个函数;函数的使用提高了代码的复用性,一致性和扩展性

          def functionName():

            pass

        2)函数可以带参数,这种参数叫做形参,调用函数时用的参数叫做实参。

          def functionName(arg1,arg2):  #这里的参数叫做形参,即形式参数,内存不会分配空间

            print("arg1="+arg1+",arg2"+arg2)

          functionName()  #错误,因为在定义函数时指定了两个形参,在调用时也要指定两个实参

          functionName("juncx",17)  #正确,这里的参数叫做实参,即实际参数,内存会分配空间

          functionName(arg1="juncx",arg2=17)  #正确,这是关键词传参

          functionName(juncx,arg2=17)  #正确,只要与形参位置相匹配

          functionName(arg2=17,juncx)  #错误,关键词传参不能放在未命名参数的前面

        3)函数还有返回值

          def functionName(arg1,arg2):

            return arg1+arg2

          result = functionName(2,5)  #定义一个变量来接收函数的返回值

          print(result)  #result:7

          

          def functionName2():

            return 1,"juncx",[1,3,5],{name:"age","age":"name"}

          result = functionName2()

          print(result)  #result:(1,"juncx",[1,3,5],{name:"age","age":"name"})  #返回多个参数时将返回一个元组

       4)函数的非固定参数

          def functionNametu(*args)  #表示传一个元组

            pass

          functionNametu(1,2,3,4,5)

          functionNametu(*[1,2,3,4,5])  #两种调用效果时等效的

          def functionNamekv(**kwargs)  #表示传一个字典

            pass

          functionNamekv(name="juncx",age=17)

          functionNamekv({name:"juncx",age:17})  #两种调用效果是等效的