Python代码在执行过程中,遵循下面的基本原则:
普通语句,直接执行;
碰到函数,将函数体载入内存,并不直接执行
碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
碰到if、for等控制语句,按相应控制流程执行
碰到@,break,continue等,按规定语法执行
碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码
if name == ‘main‘:
很多时候,我们经常在python程序中看到这么一行语句,这里简要解释一下:
首先,name是所有模块都会有的一个内置属性,一个模块的name值取决于你如何调用模块。假如你有一个test.py文件,如果在a.py文件中使用import导入这个模块import test.py,那么test.py模块的name属性的值就是test,不带路径或者文件扩展名。但是很多时候,模块或者说脚本会像一个标准的程序样直接运行,也就是类似python test.py这种方式,在这种情况下, name 的值将是一个特别缺省值”main“。
函数定义
在Python中,采用下面的语法定义函数:
def 函数名(参数):
# 内部代码
return 表达式
函数返回值 return
return可以返回什么?
什么都不返回,仅仅return:return
数字/字符串/任意数据类型: return ‘hello’
一个表达式:return 1+2
一个判断语句:return 100 > 99
一个变量:return a
一个函数调用:return func()
甚至是返回自己!:return self
多个返回值,以逗号分隔:return a, 1+2, “hello”
对于同时返回多个值的函数,需要相应个数的变量来接收,变量之间以逗号分隔:
def func():
return 1, [2, 3], "haha"
a, b, c = func()
参数的传递
1.Python的函数参数传递的是实际对象的内存地址。
2.Python的数据类型分可变数据类型和不可变数据类型。
a = 1
1位不可变数据类型,所以类似传值
a = [1,2,3,4]
[]列表位可变数据类型,所以可以改变类似传引用或指针