标签:做了 close 不同的 opened 传参数 font 结果 分享 动作
一、字符编码与转码
先说python2
再说python3
在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string
转码方式如下图所示:
1 __author__ = ‘NL‘ 2 3 import sys 4 5 print(sys.getfilesystemencoding()) 6 print(sys.getdefaultencoding()) 7 8 str = "编码测试" #python3中,默认编码格式为unicode 9 print(str) 10 11 str_gbk = str.encode("gbk") #编码的同时,将string转成bytes 12 str_decode = str_gbk.decode("gbk") #解码的同时,将bytes转成string 13 print(str_gbk) #输出结果:b‘\xb1\xe0\xc2\xeb\xb2\xe2\xca\xd4‘ 14 print(str_decode)
二、函数
1、函数的基本定义
__author__ = ‘NL‘ def func1(): #不带参数的函数,无返回值,---》过程 print("func1") def func2(): #不带参数的函数,有返回值,---》函数 print("func1") return 0 func1() #函数调用 func2() print(func1()) #返回值为None print(func2()) #返回值为0
2、带参数的函数
1 __author__ = ‘NL‘ 2 3 def func1(x,y): 4 z = x + y 5 return z 6 7 def func2(*args): 8 return args 9 10 def func3(**kwargs): 11 return kwargs 12 13 def func4(x,y=3,*args,**kwargs): 14 return x,y,args,kwargs 15 16 print(func1(3,4)) #结果为7 17 print(func2(1,"haha",[1,5,"kkkte"])) #结果为tuple:(1, ‘haha‘, [1, 5, ‘kkkte‘]) 18 print(func3(name="nl",age=22,sex="M")) #结果为dict:{‘name‘: ‘nl‘, ‘age‘: 22, ‘sex‘: ‘M‘} 19 print(func4(4,9,"nihao",[1,2,3],name="wqx")) #结果为:(4, 9, (‘nihao‘, [1, 2, 3]), {‘name‘: ‘wqx‘})
正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可,但记住一个要求就是,关键参数必须放在位置参数之后。
递归函数
代码演示,二分查找:
递归特性:
1. 必须有一个明确的结束条件
2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
标签:做了 close 不同的 opened 传参数 font 结果 分享 动作
原文地址:http://www.cnblogs.com/zilin-2017/p/7067888.html