东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 10229|回复: 17
打印 上一主题 下一主题

[课堂笔记] 11、人工智能之Python机器学习_python的面向对象与类_笔记

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14437
QQ
跳转到指定楼层
楼主
发表于 2017-11-26 12:50:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
11、人工智能之Python机器学习_python的面向对象与类_笔记
创建一个类  动态 静态   属性 方法(函数)   实例化一个类
调用对象的属性 和 方法     创建任意数量的类的对象


给属性指定默认值 self.weight = 10
修改属性的值:1直接  2 方法
继承 自动获取父类的所有属性和方法  还可以有自己的
python2.7中的继承
自己的个性:给子类定义 属性 和 方法     重写


子类添加的细节越来越多   用另外一个类的实例作为属性   


导入类(命名问题):from 模块名 import 类名,
import 模块名   用句点表示法调用
from 模块名 import *
多个模块之间相互导入 也是这样的  组织项目代码  结构清晰


Python标准库  直接使用其他程序员编写的模块  举例:有序字典


编程规范:
1、类名:驼峰命名法 PetDog 大写   实例名 小写 dfy_pet_dog 下划线
2、类和模块 都应该有 文档字符串
3、类中 使用一个空行来分隔方法  多个类之间使用2个空行来分隔
4、需要同时导入python标准库和自己编写的模块时 先导入标准库的 后 空一行再导入自己的

让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

46

帖子

155

积分

注册会员

Rank: 2

积分
155
18#
发表于 2020-4-23 10:11:12 | 只看该作者

一定好好学习
回复

使用道具 举报

0

主题

95

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
17#
发表于 2020-3-1 11:43:35 | 只看该作者
好老师,谢谢楼主分享!66666666666666666
回复

使用道具 举报

0

主题

96

帖子

210

积分

中级会员

Rank: 3Rank: 3

积分
210
16#
发表于 2018-9-17 17:13:30 | 只看该作者
11111111111111111111111111111111
回复

使用道具 举报

0

主题

190

帖子

402

积分

人工智能VIP

Rank: 9Rank: 9Rank: 9

积分
402
15#
发表于 2018-3-19 21:22:40 | 只看该作者
6666666666666666666666666666
回复

使用道具 举报

0

主题

81

帖子

168

积分

注册会员

Rank: 2

积分
168
14#
发表于 2018-3-16 09:26:53 | 只看该作者
非常感谢,正是我需要的
回复

使用道具 举报

0

主题

98

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
13#
发表于 2018-2-1 09:31:01 | 只看该作者
概述与Python环境搭建
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14437
QQ
12#
 楼主| 发表于 2018-1-9 16:23:26 | 只看该作者
东方耀 发表于 2018-1-9 16:23
练习:亡者农药小游戏

1、创建三个游戏人物,分别是:
  1. class hero():

  2.     #定义属性
  3.     def __init__(self,name,category,skill,output=1000,score = 0):
  4.         self.name = name
  5.         self.category = category
  6.         self.skill = skill
  7.         self.output = output
  8.         self.score = score

  9.     #战斗场景1,偷红BUFF
  10.     def red_buff(self):
  11.         self.output -= 300
  12.         print('%s%s到对面野区偷红BUFF,消耗血量300'%(self.category,self.name))

  13.     #战斗场景2solo战斗
  14.     def solo(self,n=1):
  15.         self.output -= 500
  16.         if self.output < 0:
  17.             print('%s%s,送了一个人头,血染王者峡谷'%(self.category,self.name))
  18.         else:
  19.             if self.score == 0:
  20.                 self.score += n
  21.                 print('%s%s solo战斗拿到一血,消耗血量500'%(self.category,self.name))
  22.             else:
  23.                 self.score += n
  24.                 print('%s%s solo战斗拿收割%d个人头,消耗血量500'%(self.category,self.name,n))


  25.     #场景三,加血
  26.     def add_xue(self):
  27.         self.output += 200
  28.         print('%s%s被辅助及时奶了一口,加血200'%(self.category,self.name))


  29.     #查看英雄相惜信息
  30.     def getInfo(self):
  31.         if self.output <= 0:
  32.             print('%s%s,正在复活,拿到%d个人头'%(self.category,self.name,self.score))

  33.         else:
  34.             print('%s%s超神啦!血量还有%d,拿到%d个人头'%(self.category,self.name,self.output,self.score))


  35. #实例化对象
  36. kai = hero('铠','战士','极刃风暴')

  37. #操作
  38. kai.red_buff()
  39. kai.getInfo()
  40. kai.solo()
  41. kai.getInfo()
  42. kai.add_xue()
  43. kai.getInfo()
  44. kai.solo()
  45. kai.getInfo()
复制代码
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14437
QQ
11#
 楼主| 发表于 2018-1-9 16:23:13 | 只看该作者
练习:亡者农药小游戏

1、创建三个游戏人物,分别是:
属性:
    名字:name,定位:category,血量:Output技能:Skill
英雄:
    铠,战士,血量:1000 技能:极刃风暴
    王昭君,法师 ,血量:1000 技能:凛冬将至
    阿轲,刺客,血量:1000 技能:瞬华

2、游戏场景,分别:

偷红buff,释放技能偷到红buff消耗血量300
solo战斗,一血,消耗血量500
补血,加血200

'''
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14437
QQ
10#
 楼主| 发表于 2018-1-9 16:12:21 | 只看该作者
东方耀 发表于 2018-1-9 16:12
模拟一个简单的银行进行业务办理的类

类:
  1. class Bank():
  2.     #一个属于银行的类属性
  3.     __Users = {}


  4.     #每个对象拥有 卡号、密码、用户名、余额
  5.     def __init__(self,CradId,pwd,name,balance):
  6.         if CradId not in Bank.__Users:
  7.             Bank.__Users[CradId] = {'pwd':pwd,'Username':name,'Balance':balance}
  8.             self.__CradId = CradId
  9.             self.__pwd = pwd
  10.             self.__name = name
  11.             self.__balance = balance


  12.     #查看本银行的开户总数
  13.     @classmethod
  14.     def nums(cls):
  15.         print('当前用户数:%d'%(len(cls.__Users)))


  16.     #查看所有用户的个人信息(包含卡号、密码、用户名、余额)
  17.     @classmethod
  18.     def get_Users(cls):
  19.         for key,val in cls.__Users.items():
  20.             print('卡号:%s \n 用户名:%s \n密码:%d \n 余额:%d'%(key,val['Username'],val['pwd'],val['Balance']))
  21.             print()

  22.     #验证方法
  23.     @staticmethod
  24.     def check_User(CradId,pwd):
  25.         if (CradId in Bank.__Users) and (pwd == Bank.__Users[CradId]['pwd'] ):
  26.             return True
  27.         else:
  28.             return False
  29.     #验证金额
  30.     @staticmethod
  31.     def check_money(money):
  32.         if isinstance(money,int):
  33.             return True
  34.         else:
  35.             return False

  36.     # 取钱(需要卡号和密码验证)
  37.     def q_money(self,CradId,pwd,money):
  38.         if Bank.check_User(CradId,pwd):
  39.             #开始取钱
  40.             if Bank.check_money(money):
  41.                 if Bank.__Users[CradId]['Balance'] >= money:
  42.                     Bank.__Users[CradId]['Balance'] -= money
  43.                     print('当前卡号%s,当前取款金额%d,当前余额%d'%(CradId,money,Bank.__Users[CradId]['Balance']))
  44.                 else:
  45.                     print('余额不足')
  46.             else:
  47.                 print('您输入的金额有误')
  48.         else:
  49.             print('卡号或者密码有误')

  50.     # 存钱(需要卡号和密码验证)
  51.     def c_money(self,CradId,pwd,money):
  52.         if Bank.check_User(CradId,pwd):
  53.             #开始存钱
  54.             if Bank.check_money(money):
  55.                 Bank.__Users[CradId]['Balance'] += money
  56.                 print('当前卡号%s,当前存款金额%d,当前余额%d'%(CradId,money,Bank.__Users[CradId]['Balance']))
  57.             else:
  58.                 print('您输入的金额有误')
  59.         else:
  60.             print('卡号或者密码有误')

  61.     # 查看个人详细信息(需要卡号密码验证)
  62.     def getInfo(self,CradId,pwd):
  63.         if Bank.check_User(CradId, pwd):
  64.             print('当前卡号%s,当前用户名%s,当前余额%d' % (CradId, Bank.__Users[CradId]['Username'], Bank.__Users[CradId]['Balance']))
  65.         else:
  66.             print('卡号或者密码有误')


  67. joe = Bank('1001',111111,'joe',100)
  68. Bank.nums()
  69. print('_'*50)
  70. Bank.get_Users()
  71. print('_'*50)
  72. joe.c_money('1001',111111,500)
  73. print('_'*50)
  74. joe.q_money('1001',111111,300)
  75. print('_'*50)
  76. joe.getInfo('1001',111111)
复制代码
让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-5 15:34 , Processed in 0.192205 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表