mm111222 发表于 2018-8-10 07:05:40

14.1Python面向对象前戏

Python面向对象前戏
  对python来说,可以完全使用函数式编程来完成,也可以用面向对象编程来完成,Java只能用面向对象。
  面向对象:
  仅仅是一个别名
  def foo(name,age,gender,content):
  print(name,age,gender,content)
  foo(小明,10岁,男,上山去砍柴)
  foo(小明,10岁,男,开车去东北)
  class bar:
  def foo(self,name,age,gender,content):
  print(name,age,gender,content)
  obj=bar()
  obj.foo(小明,10岁,男,上山去砍柴)
  obj.foo(小明,10岁,男,开车去东北)
  面向对象过程:
  一.定义:
  函数:
  def函数名(参数)
  面向对象:
  class类名:
  def   方法名(self,args)
  以后类里面有方法,第一个参数必须写self
  二.执行
  函数:
  函数名(参数)
  面向对象:
  o= 类名()   创建中间人o,叫对象或者实例
  o.方法名()
  

class first_class():  def info(self):
  print("ok!")
  return True
  

  
o=first_class()
  
o.info()
  
print(o.info())
  

  三.self是什么意思
  s1="123"等同于s1=str("123")str本身就是一个class
  self 等于当前执行对象
  

class sec_class():  def info(self,args):
  print(self,args)
  

  
obj1=sec_class()
  
obj2=sec_class()
  
print(obj1)
  
# <__main__.sec_class object at 0x000000AF402EAAC8>
  
print(obj1.info("haha"))
  
# <__main__.sec_class object at 0x000000AF402EAAC8> haha
  
# None
  
print(obj2)
  
# <__main__.sec_class object at 0x00000065B76BAA20>
  
print(obj2.info("wawa"))
  
# <__main__.sec_class object at 0x00000065B76BAA20> wawa
  
# None
  

  对象里面存东西,能不能进入方法中,能!
  

class third_class():  def info(self,args):
  print(self,self.name,args)
  

  
obj3=third_class()
  
obj3.name="jiaxin"
  
print(obj3.info("kaka3"))
  
# <__main__.third_class object at 0x0000004EB372AC88> jiaxin kaka3
页: [1]
查看完整版本: 14.1Python面向对象前戏