# -*- coding: cp936 -*-
# Charpter 4 Function
# 4.2函数中的参数
def Cube(x=5): #默认参数
return x**3
def fun(x,y,z):
return x+y-z
#调用函数,按照顺序传递参数 fun(1,2,3)
#调用函数,按照参数名传递参数 fun(z=1,x=2,y=3)
#调用函数,混合使用 fun(1,z = 2,y = 3)
# error! fun(z = 2,y = 3,1)按顺序的不能放在按参数名之后
#——————————————————————————————————————————————————————————————————————————————#
#可变长参数
def mylistappend(*list):
l = []
for i in list:
l.extend(i)
return l
# 调用 mylistappend([1,2,3],[3,4,5],[8,9])
# >>> [1, 2, 3, 3, 4, 5, 8, 9]
#——————————————————————————————————————————————————————————————————————————————#
#参数引用
def ChangeValue1(x): #此处x为一个整数
x = x**2
'''
>>> a=2
>>> ChangeValue1(a)
>>> a
2
'''
#此时a的值不会改变
def ChangeValue2(x): #此处x为一个列表
x[0] = x[0]**2
'''
>>> a=[2]
>>> ChangeValue2(a)
>>> a
[4]
'''
#此时a的值改变了
#——————————————————————————————————————————————————————————————————————————————#
# 导入模块
import math
import math as Math
from math import sqrt
# 用 dir(math) 查看模块中所有定义的名字和函数等
#——————————————————————————————————————————————————————————————————————————————#
## Charpter6 类
class human:
age = 0
sex=''
name=''
_height = 170 #私有属性
def speak(self):
print('my name is '+self.name)
def _talk(): #私有方法
print('I am talk!')
#继承
class student(human):
def speak(self):
print('I am a student,my name is '+self.name)
#多重继承
class A:
a = 0;
def FunA(self):
print('Fun A')
class B:
b = 0;
def FunB(self):
print('Fun B')
class C(A,B):
c=0;
def FunA(self):
print('new Fun A in C')
#__add__(),__sub__()等运算符可以重载
#——————————————————————————————————————————————————————————————————————————————#