python学习之路-day6-面向对象

一、面向对象学习

特性

  • class类

一个类即是对一类拥有相同属性的对象的抽象、蓝图。原型。在类中定义了这些对象的都具备的属性、共同的方法。

面向过程编程和面向对象编程:

面向过程编程:使用一系列的指令告诉计算机怎么一步步执行
基本设计思路就是程序一开始是着手解决一个大的问题,然后把一个大的问题分解成很多小问题或子过程
面向对象编程:
OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述
世界万物皆对象。
只要是对象,就肯定属于某种类
只要是对象,就肯有属性

面向对象编程:

OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述
世界万物皆对象。
只要是对象,就肯定属于某种类
只要是对象,就肯有属性

objiect对象:

一个对象即是一个类的实例化后的实例,一个类可以实例化多个对象,每个对象亦可以有不同的属性

encapsulation封装:

inheritance继承:

一个类可以派生出子类,在这个父类里面定义的属性、方法自动被子类继承

  • 对象

  一个对象即是一个类的实例化后的实例,一个类必须经过实例化后方可在程序中调用,一个类可以实例化多个对象,每个对象亦可以有不同的属性

二、例子

1、创建一个类

class Role(object):  #定义一个类
    def __init__(self): #初始化
        pass

上面的这个__init__()叫做初始化方法(或构造方法), 在类被调用时,这个方法(虽然它是函数形式,但在类中就不叫函数了,叫方法)会自动执行,进行一些初始化的动作。

2、实例

__author__ = ‘lw‘

class Role(object):
    def __init__(self,name,role,weapon,life_value=100,money=15000): ##定义一个类, class是定义类的语法,Role是类名,(object)是新式类的写法
        self.name = name              ##初始化函数,在生成一个角色时要初始化的一些属性就填写在这里
        self.role = role              ####self.name = r1.name
        self.weapon = weapon
        self.life_value = life_value
        self.money = money

    def shot(self):
        print("shooting...")

    def got_shot(self):
        print("ah...,I got shot...")

    def buy_gun(self,gun_name):
        print("just bought %s" %gun_name)

r1 = Role(‘Alex‘,‘police‘,‘AK47‘) #生成一个角色,也即是生成一个实例(对象)
r2 = Role(‘Jack‘,‘terrorist‘,‘B22‘)  #生成一个角色,生成一个实例(对象)我们看到,上面的创建角色时,我们并没有给__init__传值,程序也没未报错,是因为,类在调用它自己的__init__(…)时自己帮你给self参数赋值了,

r1 = Role(‘Alex‘,‘police‘,‘AK47’) #此时self 相当于 r1 ,  Role(r1,‘Alex‘,‘police‘,‘AK47’)

r2 = Role(‘Jack‘,‘terrorist‘,‘B22’)#此时self 相当于 r2, Role(r2,‘Jack‘,‘terrorist‘,‘B22’)

 
   
时间: 2024-11-05 18:53:02

python学习之路-day6-面向对象的相关文章

python学习之路day6

python装饰器 装饰器本质上是一个函数,在不对其他函数源代码进行修改的情况下,为其他函数提供额外功能. import timedef test1(): time.sleep(3) print('in the test1')def test2(): time.sleep(3) print('in the test2')def timer(func): #就是返回deco函数的内存地址 def deco(): stime=time.time() func() ptime=time.time()

Python学习之路——强力推荐的Python学习资料

资料一:程序媛想事儿(Alexia)总结 Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务. Python上手虽然容易,但与其它任何语言一样要学好Python并非一日之功.我的Pyth

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

Python学习之路

Python学习之路 目录 Python学习之路[第一篇]:流程控制,用户交互,语法要求,变量,字符,注释,模块导入的使用 Python学习之路[第二篇]:文件,字符串,列表,元组,字典,集合的使用 更新中...

Python学习之路-装饰器&生成器&正则表达式

装饰器 通俗的讲,装饰器就是在不改变源代码基础上,给源代码增加新功能. 不改变函数的源代码.调用方式.返回值等,给函数增加新功能. 经典案例:登录装饰器, def login_decorator(func):     def inner():         if USER_TEMP["status"] == False:             print("\033[31;1m用户未登录,请先登录\033[0m")             login_atm()

Python学习之路【第一篇】-Python简介和基础入门

1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是一种开发语言,而且已经进阶到主流的二十多种开发语言的top 5(数据源自最新的TIOBE排行榜). 来头不小啊!二十多种主流的开发语言,我该从哪一个开始呢?人生苦短,let‘s python! 1.2 Python的由来和发展趋势 Python的前世源自鼻祖“龟叔”.1989年,吉多·范罗苏姆(Gu

Python学习之路 001

Python学习之路 从今天起开始写Python学习的经历了,哈哈. 了解Python是在我想入坑Linux运维这条路开始的. 我是计算机出身有着一定编程的功底,刚开始接触Python的时候觉得Python我学习过的c,c++特性完全不一样.觉得为什么这东西会这么智能 就拿Hello World来说 C: 1 #include<stdio.h> 2 3 void main() 4 { 5 printf("Hello World"); 6 } C++: 1 #include&

Python 学习之路(二)

Python 学习之路(二) 以下所用的是Python 3.6 一.条件语句 简单判断 1 if 判断条件: 2 执行语句-- 3 else: 4 执行语句-- 复杂判断 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- 二.循环语句 2.1 while语句 和其他语言一样,不同的是多了else语句.在 python 中,while - else 在循环条件为 false

Python 学习之路(三)

Python 学习之路(三) 以下所用的是Python 3.6 一.集合部分 集合是一个无序的,不重复的数据集合,主要用来去重,以及关系测试:交集,差集,并集等 1.1 关系操作 1.1.1 列表去重 可以给列表去重,例如: 1 set_demo = [1,2,3,4,5,3,2,1] # 列表 2 set_demo = set(set_demo) # 转换成集合,来去重 3 print(set_demo) 1.1.2 取交集 intersection()方法 可以获得两个集合的交集部分,例如:

Python学习之路(第一周)

走上软件开发之路已经三个年头.我本人是android原生开发出生.期间由于工作的需要以及开发的趋势发展,也走上混合开发的道路,现在主要运用ionic框架进行移动端app的开发.但是未来的互联网发展趋势还是大数据+人工智能.所以现在学习Python就很有必要.这里就不介绍Python语言的优劣了,想具体了解的小伙伴可以自行度娘吧. 好了,直接步入正题. 本博客主要记录自己接下来几个月的Python学习之路,能力有限,期间有什么表达不对的欢迎大家留言区批评指正! Python版本:Python3.5