假如具有传统编译型语言的经验,大家大概会对是否使用字典而心神不定,担心字典的服从比列表或数组低。事实上Python字典的执行速度已经相称快了。Python语言的许多内部特性都依赖于字典,为提高字典的服从已经投入了大量的心血。Python的全部数据结构都颠末了高度优化,因此不应该花太多时间去考虑哪个更快,哪个服从更高。
pass语句也可在Python中需要语句的其他任何地方使用。pass语句用作语句的占位符,但是它不执行任何操纵:
- if x < 5:
- pass
- else:
- x = 5
复制代码 Python没有提供case(或switch)语句。阅读工作中的代码,可以发现Switch/case语句在现实开辟中使用频率确实很低。
与其他Python对象一样,函数也可以被赋值。函数可以被放入列表、元组或字典中。这个特性和C系列语言的函数指针雷同。不过用起来更加简约。真正将函数做到了对象一样。
在大多数其他语言采用case或switch语句的场所,Python可以用串联的if…elif…elif…else结构来很好地应对。假如遇到少少数棘手的场所,通常可用函数字典来解决,如下所示:
- def do_a_stuff():
- #process a
- def do_b_stuff():
- #process b
- def do_c_stuff():
- #process
- func_dict ={'a':do_a_stuff,
- 'b':do_b_stuff,
- 'c':do_c_stuff }
- X = 'a'
- func dict[x]()
- #运行字典中的函数
复制代码 在使用变量之前,用global语句对其举行声明,可以显式地使其成为全局(global)变量。函数可以访问和修改全局变量。全局变量存在于函数之外,全部将其声明为全局变量的其他函数,以及函数之外的代码,也可以对其举行访问和修改。以下示例演示了局部变量和全局变量的差异:
- def fun():
- global a
- a = 1
- b = 2
复制代码 nonlocal语句与global语句雷同,它会让标识符引用最近的闭合作用域(enclosing scope)中已绑定的变量。
字符串的format函数可以实现雷同C系列语言的格式化功能。
python的函数内部还可以定义函数。
- g_var =0
- #inner_test 函数中的g_var 绑定为同名的顶级变量
- nl_var =0
- print("top level-> g_var: {0} nl_var: {1}".format(g_var, nl_var))
- def test():
- nl_var = 2
- #inner_test函数中的nl_var 绑定为 test 函数中的同名变量
- print("in test-> g_var: {0} nl_var:{1}".format(g_var, nl_var))
- def inner_test():
- #inner_test g_var 绑定为同名的顶级变量
- global g_var
- #inner_test函数中的nl_var 绑定为test 函数中的同名变量
- nonlocal nl_var
- g_var =1
- nl_var =4
- print("inner_test-> g_var: {0} nl_var:{1}".format(g_var, nl_var))
- inner_test()
- print("in test->g_var: {0} nl_var:{1}".format(g_var, nl_var))
- test()
- print("top level-> g_var: {0} nl_var:{1}".format(g_var, nl_var))
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |