当前学习借鉴书籍:Head First Python
1.语法
使用def方式定义函数,def 函数名(参数列表) :
2.定义一个计算总数的函数
'''
定义一个函数用于计算两个数相加
'''
def sum(num1, num2):
return num1 + num2
使用函数
print(sum(5, 6))
结果为:11
3.定义一个具有默认值的函数
在当前的函数列表中使用:变量=defaultvalue的方式设置默认值,如果没有传递这个参数就会使用默认的值
# 定义函数的默认值使用:num=value方式定义默认值,即可用参数
def sum2(num1=0, num=0):
return num1 + num
调用
print("输出当前的sum2函数的调用:{0}".format(sum2()))
print("输出当前的sum2函数的调用:{0}".format(sum2(1)))
print("输出当前的sum2函数的调用:{0}".format(sum2(1, 2)))
结果:
使用这个就可以传递参数和不传递参数都可以调用这个函数,不会报错
4.定义一个递归函数处理list中的数据
# 用于打印list中的元素,创建递归函数迭代list中的集合元素
def printList(array):
if isinstance(array, list):
for a in array:
if isinstance(a, list):
printList(a)
else:
print(a)
else:
print(array)
调用
strList = [
"header", ["title", ["h1", ["content"]]]
]
printList(strList)
结果:
5.定义一个私有的方法:private
python中的定义私有的方法使用:__方法名称
,定义私有的属性为:__变量
def __private_method(self):
print("这是一个私有的方法:private")
在类的外面调用这个方法:
# 这里报错,AttributeError: 'User' object has no attribute '__private_method',没有这个方法存在
new_user.__private_method()
报错这里报错,AttributeError: 'User' object has no attribute
6.定义一个受保护的方法:protected
python中定义受保护的方法使用:_方法名称
,定义受保护的属性为:_变量
def _protected_method(self):
print("这是一个受保护的方法:protected")
在类的外面调用这个受保护的方法
# 结果:这是一个受保护的方法:protected
new_user._protected_method()
结果成功!
7.使用@property将一个方法变为变量的方式调用
@property
def show(self):
print("当前的用户名:{0},密码:{1}".format(self.name, self.pwd))
调用结果:
new_user.show
当前的用户名:admin,密码:123456
8.定义可变参数
1.定义可变的集合参数list
# 测试可变参数 *params是用來输出数组变量 ('张三', '李四', '王五')
def vars_func(_param1=None, *params):
print("_param1={0}".format(_param1))
print("输出可变参数中的数据:{0}".format(params))
if __name__ == "__main__":
# 开始测试可变参数的函数
vars_func("uname","张三","李四","王五")
结果:
_param1=uname
输出可变参数中的数据:(‘张三’, ‘李四’, ‘王五’)
2.定义可变参数:字典
# 用于输出可变的dict, **变量名就表示可变的字典参数,需要使用張三="123456",李四="123456"传入进来
def vars_func1(_param1=None, **params):
print("_param1={0}".format(_param1))
print("输出可变参数中的数据:{0}".format(params))
if __name__ == "__main__":
# 开始测试可变参数的函数
vars_func1("user",張三="123456",李四="123456")
结果:
_param1=user
输出可变参数中的数据:{‘張三’: ‘123456’, ‘李四’: ‘123456’}
9.定义一个静态的方法
首先定义类,然后定义静态方法:静态方法中没有self
class object_utils:
# 创建静态方法
def isNull(o=None):
print("调用静态方法!")
return o == None
调用静态方法
if __name__ == "__main__":
print(object_utils.isNull(None))
结果:
调用静态方法!
True
10.总结
1.定义函数的时候需要使用def声明这个是一个函数
2.创建函数的时候可以指定参数的默认值,在调用的时候就不需要传递参数
3.创建私有变量和私有方法时需要使用__开头
,创建受保护的方法和变量的时候需要使用_开头
4.通过在方法上添加@property
可以将一个方法的调用方式变为变量的调用方式
5.定义可变参数集合使用*变量名
,定义可变字典使用**变量
以上纯属个人见解,如有问题请联系本人!