【1.1】python中一切皆对象

Python中的所有对象都有三个特点:

• 身份:每个对象都有一个唯一的身份标识自己,任何对象的身份都可以使用内建函数id()来得到,可以简单的理解为这个值式对象的内存地址

• 类型:对象的类型决定了对象可以保存什么类型的值,有哪些属性和方法,可以进行哪些操作,遵循怎样的规则。可以使用内建函数 type() 来查看对象的类型

• 值:对象所表示的数据

 

在Python中,函数和类也是对象,属于Python中的 “一等公民” 

1.赋值给一个变量

1 def get_name(name='zy'):
2     print(name)
3 
4 
5 # 定义一个函数之后,将函数赋值给一个变量
6 func = get_name
7 # 通过变量也可以调用函数
8 func()
1 class Person:
2     def __init__(self):
3         print('zy')
4 
5 
6 # 将类名赋值给一个变量
7 my_class = Person
8 # 通过变量调用类的构造函数
9 my_class()

2.可以添加到集合对象中

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 obj_list = []
 4 
 5 
 6 def get_name(name='zy'):
 7     print(name+' in function')
 8 
 9 
10 class Person:
11     def __init__(self):
12         print('zy in class')
13 
14 
15 # 将函数和类赋值给一个变量
16 my_func = get_name
17 my_class = Person
18 
19 # 将函数添加到list中
20 obj_list.append(my_func)
21 obj_list.append(my_class)
22 print(obj_list)

3.可以作为参数传递给函数

  4.可以当作函数的返回值

 1 #!/user/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 # 利用一个装饰器来解释这个3, 4
 5 
 6 
 7 def decorator(func):
 8     def wrapper():
 9         print('--decorator--')
10         func()
11     return wrapper()
12 
13 
14 @decorator
15 def func():
16     print('hello world')
--decorator--
hello world

 

    简单来说:Python 中的一切都可以赋值给变量或者作为参数传递给函数。

posted @ 2019-07-20 17:48  _simpleSmile  阅读(343)  评论(0编辑  收藏  举报