前言:

本章,继续对CSDN技能树的一些例子进行了改进说明和实践。希望能帮助在技能树游泳的哥们。

更改说明

原来的例子,写的注解太少了,没用的基本概念解释太多,花了时间看的,反而困惑了。再加上调用了choice这个随机取值函数,搞的结果更加玄乎,这个是一个培训的文案例子,建议修正。

1创建类

# -*- coding: UTF-8 -*-from random import choiceclass Divergence:def __init__(self,name='robot'):self.name = namepassdef getChoice(self,name=None):if name is not None:self.name = nameself.__lists = ['剪刀','石头','布']result = choice(self.__lists)print('类名叫',self.name,':随机选择了>',result)

上述代码,创建了一个Divergence的类,
其中,

def init(self,name=‘robot’):
self.name = name
pass

定义了一个类的初始化,这里除了,self参数外,还定义了,name的参数,同时他的默认初始值为‘robot’。

def getChoice(self,name=None):
if name is not None:
self.name = name
self.__lists = [‘剪刀’,‘石头’,‘布’]
result = choice(self.__lists)
print(‘类名叫’,self.name,‘:随机选择了>’,result)

定义了一个类的方法,该方法从内部的列表里面,随机取一个值输出,也就是实现了猜拳的功能。

1.1 Python 有初始化参数的创建类

上述例子,我们手动添加了类的初始化构造方法,init.
而且,在init除了,self参数外,还有其他参数name,此为有初始化的创建。

1.2 Python 无初始化参数的创建类

如果,根本不给init类的构造方法,或者,给出了构造方法,但是,输入的初始化参数只有self,这个就是无初始化参数的创建类了。
如果不给出类的构造方法,Python会自己给出默认的构造方法,这个在之前的讨论中已经提到了。

2 类的使用

2.1 带参数初始化类

#实例化对象的时候传递name参数
d = Divergence('A')
d.getChoice()

【本例实例化的时候,输入了参数’A’,初始化的时候就把类的名称改成A了,】

类名叫 A :随机选择了> 布

【更改输入参数】

#实例化对象的时候传递name参数
d = Divergence('我是谁')
d.getChoice()

类名叫 我是谁 :随机选择了> 剪刀

【案,完全不要管“随机选择了>”的结果,只要有输出就对了,因为设计就是一个随机数】

【现在,我们不给他输入参数】

#实例化对象的时候传递name参数
d = Divergence()
d.getChoice()

类名叫 robot :随机选择了> 剪刀

这时候,类名就变成了我们一开始设定的默认名字:robot

2.2 不带参数初始化类

现在我们在重新写一下类的初始化定义,这一次,我们给了类的初始化定义,但是,我们pass了,里面没有具体东西,我们看看结果:

# -*- coding: UTF-8 -*-from random import choiceclass Divergence:def __init__(self):passdef getChoice(self,name=None):self.__lists = ['剪刀','石头','布']result = choice(self.__lists)print('类名叫',self,':随机选择了>',result)#实例化对象的时候传递name参数
d = Divergence()
d.getChoice()

类名叫 <main.Divergence object at 0x000002087EED2BC8> :随机选择了> 布

OK,我们看的现在编译器给了他一个好名字:
main.Divergence object at 0x000002087EED2BC8>

再暴力一点,这次完全不写初始化的了,完全不写

# -*- coding: UTF-8 -*-from random import choiceclass Divergence:def getChoice(self,name=None):self.__lists = ['剪刀','石头','布']result = choice(self.__lists)print('类名叫',self,':随机选择了>',result)#实例化对象的时候传递name参数
d = Divergence()
d.getChoice()

输出:

类名叫 <main.Divergence object at 0x000002087EEDA548> :随机选择了> 剪刀

好像代码指针变了一下。

小结:

相信写到这里,有关类的初始化参数的讨论就比较清楚了。

参考

choice() 函数

从给出的列表,元组或字符串的随机项中,随机返回一个项目:

#!/usr/bin/python
import random
print "choice([1, 2, 3, 5, 9]) : ", random.choice([1, 2, 3, 5, 9])
print "choice('A String') : ", random.choice('A String')

choice([1, 2, 3, 5, 9]) : 5
choice(‘A String’) : S


案,这里,choice函数从[1, 2, 3, 5, 9]列表中,随机取到了一个数5,
从字符串,‘A String’,中随机取到了一个字符S

【Python】【技能树评测】技巧实例-说明改进和实践【02】 - 类的初始化和初始化参数相关推荐

  1. 400+人支持的技能树又又又更新了,来看看对我们的学习有没有帮助呢?Python技能树评测

    文章目录 一.Python 技能树评测 二.产品功能 三.UI 界面 四.用户激励 五.使用体验 六.改进建议

  2. python中构造方法的名字,【填空题】Python提供了名称为 的构造方法,实现让类的对象完成初始化。...

    [填空题]Python提供了名称为 的构造方法,实现让类的对象完成初始化. 更多相关问题 如图是2012年元宵节灯展中一款五角星灯连续旋转闪烁所成的三个图形,照此规律闪烁,下一个呈现出来的图形是( 在 ...

  3. python入门技能树评测-积跬步以至千里

    很早前就看C站开始搞这个技能树的栏目了,我记得开始时只有C语言,奈何大一时被指针虐的体无完肤,遂敬而远之.最近看到有python技能树入门了,加之近期需求不紧,可缓图之. 很早前就看C站开始搞这个技能 ...

  4. Python技能树和CSDN Markdown编辑器的测评 20212101陈雨扬

    Python技能树和CSDN Markdown编辑器的测评 20212101陈雨扬 文章目录 Python技能树和CSDN Markdown编辑器的测评 · 1. Python技能树的评测 · 1.1 ...

  5. python基础===Python 代码优化常见技巧

    Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化.扩展以及文档相关的事情通常需要消耗 8 ...

  6. Python之深入解析Python技能树的测评分析

    一.什么是 Python 技能树? ① 简介 技能树是 CSDN 提供的系统化,面向实战的学习环境,它能帮助用户从初学者成长为合格的 Python 工程师. 它系统地整理了关于 Python 领域的知 ...

  7. [转载] Python性能优化技巧总结

    参考链接: Python代码的优化技巧 欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 pyth ...

  8. 你离Python大神就差这课树了!建议收藏|Python技能树测评

    评测目录 一.技能树是什么? 二.技能树长什么样? 三.技能树该怎样学习? 四.技能树还能有哪些改进? 五.对技能树的总结! 一.技能树是什么? 技能树是CSDN提供的系统化,面向实战的学习环境. 它 ...

  9. 《 Python List列表全实例详解系列(四)》__列表删除元素(4种方法)删除重复元素(去重)(8种方法)

    <  Python List列表全实例详解系列(四)> __列表删除元素(4种方法)删除重复元素(去重)(8种方法) 我的技术成长&学习资料整理分享之路 我遇到问题查找资料时,经常 ...

最新文章

  1. H2DBEngine——Driver的设计与实现
  2. .net core 文件流保存图片_Java--利用TCP实现文件上传
  3. ROS-kinetic 机器语音 之科大讯飞SDK
  4. 怎么把桌面计算机隐藏文件,怎么隐藏桌面文件夹名称?隐藏桌面图标下的文字的详细教程...
  5. 路考步骤七步走 科目三考试一定没问题!
  6. 奇妙的安全旅行之加密算法(完整版)
  7. PHP扩展调用C++静态库
  8. Python项目实践:基本统计值计算
  9. c语言查看cpu温度代码_很多程序员都不知道,C语言中还有“快类型”和“小类型”...
  10. 19年计算机专硕学硕报名人数,2019年研究生招生报考权威数据排行,报考人数逐年上升的态势!...
  11. Ubuntu出现“dpkg: 依赖关系问题使得libbsd0:i386的配置工作不能继续”错误
  12. 惠普m154a状态页_惠普M154a说明书
  13. Tecplot —— 探针提取数据集任一点数值
  14. python制作slack bot聊天机器人02
  15. mysql数据库idb_数据库 - MysqliDb
  16. 【面试】大佬是如何面试别人List相关知识的
  17. 调焦距离S远近与景深之关系
  18. DPI、PPI、DP、PX 的详细计算方法及算法来源是什么
  19. bnu1257 全能的福娃 C语言版
  20. 三菱PLC——流水灯编程

热门文章

  1. NSPredicate 模糊、精确、查询
  2. 06_04_SSM拉勾教育后台管理系统(权限模块\登录及动态菜单)
  3. ip地址+斜杠数字含义
  4. EEG实验后统一两种不同的脑电帽的电极点数据
  5. 中南大学计算机学硕很难考吗,中南大学硕士轻生,研究生成高危职业,请听我三句肺腑之言...
  6. 利用FireFox远程调试安卓手机web网页应用
  7. matlab静电场有限元分析
  8. 一个屌丝程序猿的人生(一百二十三)
  9. ASP.NET 中关GridView里加入CheckBox 在后台获取不到选中状态的问题
  10. 微信小程序自定义选中样式打小勾