一、使用函数变量
#定义一个计算乘方的函数
def pow(base,exp):
result =1
for i in range(1,exp+1):
result *=base
return result
#将pow函数值赋给fun,则fun可被当成pow使用
fun=pow
print(fun(2,4))
#定义一个计算面积的函数
def area(width,height):
return width*height
#将area函数赋值给fun,则fun可被当称area使用
fun=area
print('面积为:%d'%(fun(3,4)))
二、使用函数作为函数形参
def map(data,fn):
result=[]
for e in data:
result.append(fn(e))
return result
#定义一个计算平方的函数
def square(n):
return n*n
#定义一个计算立方平方的函数
def cube(n):
return n*n*n
#定义一个计算阶乘的函数
def fac(n):
result=1
for i in range (2,n+1):
result *=i
return result
data =[3,4,5,6,7]
print('原数据')
print(data)
print('计算数组元素的平方')
print(map(data,square))
print('计算数组元素的立方')
print(map(data,cube))
print('计算数组元素的阶乘 ')
print(map(data,fac))
三、lambda表达式
#传入计算平方的lambda表达式作为参数
x=map(lambda x:x*x,range(8))
print([i for i in x])
#传入计算平方的lambda表达式作为参数
y=map(lambda x:x*x if x%2 ==0 else 0,range(8))
print([e for e in y])
四、类、对象
class Employee:
'所有员工的基类'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayCount(self):
print (Employee.empCount)
def displayEmployee(self):
print(self.name,self.salary)
#"创建 Employee 类的第一个对象"
emp1 = Employee("Zara", 2000)
#"创建 Employee 类的第二个对象"
emp2 = Employee("Manni", 5000)
emp1.displayEmployee()
emp2.displayEmployee()
print(Employee.empCount)
class Employee:
def __init__(self, name='猴子', addr='花果山'):
self.name=name
self.addr=addr
def say(self):
print('吃俺老孙一棒')
hz=Employee()
print(hz.name,hz.addr)
hz.say()
class Inventory:
item='鼠标'
quantity=2000
#定义实例方法
def change(self,item,quantity):
#定义新的实例变量
self.item=item
self.quantity=quantity
#创建对象
iv=Inventory()
iv.change('monitor',300)
#输出的是实例变量的值
print(iv.item)
print(iv.quantity)
#访问类变量
print(Inventory.item)
print(Inventory.quantity)