python---面向对象编程1
来源:互联网 发布:下电子书的软件 编辑:程序博客网 时间:2024/05/18 00:29
python—面向对象编程1
事例1(正常都是要绑定到事例上的):使用绑定事例上执行
root@kali:~/python/mod# python class.pyTraceback (most recent call last): File "class.py", line 8, in <module> p.info('xwb',22)TypeError: info() takes exactly 2 arguments (3 given)root@kali:~/python/mod# vi class.pyroot@kali:~/python/mod# cat class.py#!/usr/bin/python# --*-- coding:utf-8 --*--class person: def info(self,name,age):#必须给三个参数,self是python语言约定俗称的 print 'you name is %s,age is %s'%(name,age)p = person()p.info('xwb',22)root@kali:~/python/mod# root@kali:~/python/mod# vi class.pyroot@kali:~/python/mod# python class.pyyou name is xwb,age is 22
事例2:不使用绑定事例上执行
root@kali:~/python/mod# vi class.pyroot@kali:~/python/mod# cat class.py#!/usr/bin/python# --*-- coding:utf-8 --*--class person: def info(self,name,age):#必须给三个参数,self是python语言约定俗称的 print 'you name is %s,age is %s'%(name,age)#--------绑定事例-----#p = person()#p.info('xwb',22)#------------------------- #-----不绑定实例---------person().info('xwb',25)#-----------------------root@kali:~/python/mod# python class.pyyou name is xwb,age is 25root@kali:~/python/mod#
3、类的初始化
root@kali:~/python/mod# vi class1.py root@kali:~/python/mod# cat class1.py #!/usr/bin/python# --*-- coding:utf-8 --*--class person: def __init__(self,nationality): pass def info(self,name,age):#必须给三个参数,self是python语言约定俗称的 print 'you name is %s,age is %s,you are%s'%(name,age,nationality)#--------绑定事例-----p = person('CN')p.info('xwb',22)#------------------------- #-----不绑定实例---------#person().info('xwb',25)#-----------------------root@kali:~/python/mod# python class1.py Traceback (most recent call last): File "class1.py", line 14, in <module> p.info('xwb',22) File "class1.py", line 9, in info print 'you name is %s,age is %s,you are%s'%(name,age,nationality)NameError: global name 'nationality' is not definedroot@kali:~/python/mod#
初始化
root@kali:~/python/mod# vi class1.py root@kali:~/python/mod# cat class1.py #!/usr/bin/python# --*-- coding:utf-8 --*--class person:#这里的()是继承其他的类的 def __init__(self,nationality):#初始化 self.country = nationality#初始化变量 def info(self,name,age):#必须给三个参数,self是python语言约定俗称的 print 'you name is %s,age is %s,you are%s'%(name,age,self.country)#--------绑定事例-----p = person('CN')p.info('xwb',22)#------------------------- #-----不绑定实例---------#person().info('xwb',25)#-----------------------root@kali:~/python/mod# python class1.py you name is xwb,age is 22,you areCNroot@kali:~/python/mod#
root@kali:~/python/mod# vi class2.py root@kali:~/python/mod# cat class2.py #!/usr/bin/python# --*-- coding:utf-8 --*--class person: def __init__(self,name,nationality,age,sex,job): self.Name = name self.Country = nationality self.Age = age self.Sex= sex self.Job = job def talk(self,msg): if msg != 0: print '''Hello %s, you are from %s you are %s years old you are %s your job is %s. Am i right?''' %(self.Name,self.Country,self.Age,self.Sex,self.Job)#--------绑定实例-------------#p = person('xuweibo','CN','19','Malse','IT Engineor')#p.talk(2)#----------------------------#----------不绑定实例-------------------person('xuweibo','CN','19','Malse','IT Engineor').talk(2)root@kali:~/python/mod# python class2.py Hello xuweibo, you are from CN you are 19 years old you are Malse your job is IT Engineor. Am i right?root@kali:~/python/mod#
使用绑定事例话,调用非常简单、方便
root@kali:~/python/mod# cat class2.py #!/usr/bin/python# --*-- coding:utf-8 --*--class person: def __init__(self,name,nationality,age,sex,job): self.Name = name self.Country = nationality self.Age = age self.Sex= sex self.Job = job def talk(self,msg): if msg != 0: print '''Hello %s, you are from %s you are %s years old you are %s your job is %s. Am i right?''' %(self.Name,self.Country,self.Age,self.Sex,self.Job) def skill(self): if self.Job == 'IT Engineor': print '''To be IT Engineor,you must many skills:\n 1.Linux 2.shell 3.database 4.python '''#--------绑定实例-------------p = person('xuweibo','CN','19','Malse','IT Engineor')p.talk(2)p.skill()#----------------------------#----------不绑定实例-------------------#person('xuweibo','CN','19','Malse','IT Engineor').talk(2)#person('xuweibo','CN','19','Malse','IT Engineor').skill()#--------------------------------------root@kali:~/python/mod# python class2.py Hello xuweibo, you are from CN you are 19 years old you are Malse your job is IT Engineor. Am i right?To be IT Engineor,you must many skills: 1.Linux 2.shell 3.database 4.pythonroot@kali:~/python/mod#
在python交换环境中调用类中自定义变量与变量方式:
root@kali:~/python/mod# vi class2.py root@kali:~/python/mod# cat class2.py #!/usr/bin/python# --*-- coding:utf-8 --*--class person: def __init__(self,name,nationality,age,sex,job): self.Name = name self.Country = nationality self.Age = age self.Sex= sex self.Job = job def talk(self,msg): self.msg = msg#定义msg变量,可以在python交换环境中调用 if self.msg != 0: print '''Hello %s, you are from %s you are %s years old you are %s your job is %s. Am i right?''' %(self.Name,self.Country,self.Age,self.Sex,self.Job) def skill(self): if self.Job == 'IT Engineor': print '''To be IT Engineor,you must many skills:\n 1.Linux 2.shell 3.database 4.python '''#--------绑定实例-------------p = person('xuweibo','CN','19','Malse','IT Engineor')p.talk(2)p.skill()#----------------------------#----------不绑定实例-------------------#person('xuweibo','CN','19','Malse','IT Engineor').talk(2)#person('xuweibo','CN','19','Malse','IT Engineor').skill()#--------------------------------------root@kali:~/python/mod# python class2.py Hello xuweibo, you are from CN you are 19 years old you are Malse your job is IT Engineor. Am i right?To be IT Engineor,you must many skills: 1.Linux 2.shell 3.database 4.pythonroot@kali:~/python/mod# pythonPython 2.7.3 (default, Mar 14 2014, 11:57:14) [GCC 4.7.2] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import tab>>> import class2Hello xuweibo, you are from CN you are 19 years old you are Malse your job is IT Engineor. Am i right?To be IT Engineor,you must many skills: 1.Linux 2.shell 3.database 4.python>>> class2.class2.__class__( class2.__file__ class2.__init__( class2.__reduce__( class2.__sizeof__( class2.personclass2.__delattr__( class2.__format__( class2.__name__ class2.__reduce_ex__( class2.__str__( class2.__dict__ class2.__getattribute__( class2.__new__( class2.__repr__( class2.__subclasshook__( class2.__doc__ class2.__hash__( class2.__package__ class2.__setattr__( class2.p >>> class2.p.class2.p.Age class2.p.Job class2.p.Sex class2.p.__doc__ class2.p.__module__ class2.p.skill( class2.p.Country class2.p.Name class2.p.__class__ class2.p.__init__( class2.p.msg class2.p.talk(
当中class2.p.msg 变量就可以显示出来调用
类型函数功能可以相互调用
root@kali:~/python/mod# vi class2.pyroot@kali:~/python/mod# python class2.pyHello xuweibo, you are from CN you are 19 years old you are Malse your job is IT Engineor. Am i right?To be IT Engineor,you must many skills: 1.Linux 2.shell 3.database 4.pythonTraceback (most recent call last): File "class2.py", line 41, in <module> p.action(4)TypeError: action() takes exactly 1 argument (2 given)root@kali:~/python/mod# vi class2.pyroot@kali:~/python/mod# python class2.pyHello xuweibo, you are from CN you are 19 years old you are Malse your job is IT Engineor. Am i right?To be IT Engineor,you must many skills: 1.Linux 2.shell 3.database 4.pythoncall this fuction!!root@kali:~/python/mod# cat class2.py#!/usr/bin/python# --*-- coding:utf-8 --*--class person: def __init__(self,name,nationality,age,sex,job): self.Name = name self.Country = nationality self.Age = age self.Sex= sex self.Job = job def talk(self,msg): self.msg = msg#定义msg变量,可以在python交换环境中调用 if self.msg != 0: print '''Hello %s, you are from %s you are %s years old you are %s your job is %s. Am i right?''' %(self.Name,self.Country,self.Age,self.Sex,self.Job) def skill(self): if self.Job == 'IT Engineor': print '''To be IT Engineor,you must many skills:\n 1.Linux 2.shell 3.database 4.python ''' def action(self): if self.msg != 2: print 'call this fuction!!' else: pass#--------绑定实例-------------p = person('xuweibo','CN','19','Malse','IT Engineor')p.talk(1)p.skill()p.action()#----------------------------#----------不绑定实例-------------------#person('xuweibo','CN','19','Malse','IT Engineor').talk(2)#person('xuweibo','CN','19','Malse','IT Engineor').skill()#--------------------------------------root@kali:~/python/mod#
阅读全文
1 0
- Python 面向对象编程1
- python---面向对象编程1
- python面向对象编程(1)
- python面向对象编程
- python 面向对象编程
- python面向对象编程
- python面向对象编程
- Python 面向对象编程
- Python面向对象编程
- Python 面向对象编程
- python--面向对象编程
- python面向对象编程
- python 面向对象编程
- Python:面向对象编程
- python面向对象编程
- Python面向对象编程
- python面向对象编程
- Python面向对象编程
- 提高代码优雅-Lombok代替Getter/Setter方法
- StringBuild 与 String 进行字符串相加性能比较
- 面试笔记
- 总结1
- Python装饰器详解
- python---面向对象编程1
- samba服务器的配置
- 离散题目12(判断是否为函数 c++处理)
- JavaScript介绍
- TensorFlow学习(一)
- c# 窗体应用程序 如何添加图片
- Android--onKeyDown方法
- 测试
- C++ 04 —— 构造函数