带你自学Python系列(十五):Python中类的用法(一)
↑ 点击上方【计算机视觉联盟】关注我们
今天是小编持续更新关于Python的知识总结以及Python实践项目应用的第15天,带你利用零碎时间自学最受欢迎的编程语言之一Python语言。你和小编一起打卡了吗?
1、创建类
下边类是一个表示小狗的类,存储了名字和年龄,以及小狗蹲下(sit())和打滚(roll_over())的能力:
1# 定义类名2class Dog():3 """一次模拟小狗的简单尝试""" # 文档字符串描述类功能45 def __init__(self, name, age):6 """初始化属性name和age"""7 self.name = name8 self.age = age9
10 def sit(self):
11 """模拟小狗被命令时蹲下"""
12 print(self.name.title() + " is now sitting.")
13
14 def roll_over(self):
15 """模拟小狗被命令时打滚"""
16 print(self.name.title() + " rolled over!")
根据上述代码讲解类:
类的名字为Dog,在Python中,类名称的首字母要大写
类也需要有文档字符串,对类的功能进行描述
类中的函数称为方法
方法_init_():一个特殊的方法,创建类示例时,Python会自动运行。开头和末尾各有两个下划线,是一种约定,为了避免Python默认方法与普通方法发生名称冲突。_init_()方法中,必须包含self形参,且必须放在最前面,它是指向示例本身的引用,每个与类相关联的方法都自动传递实参self(所以在创建类示例时,不用提供传递值)。
self.name和self.age:两个变量都有前缀self,以self为前缀的变量都可供类中的所有方法使用,也可以通过类的任何示例来访问这些变量。
2、根据类创建实例
1#!/usr/bin/env python2# -*- coding:utf-8 -*-34class Dog():5 """一次模拟小狗的简单尝试"""67 def __init__(self, name, age):8 """初始化属性name和age"""9 self.name = name
10 self.age = age
11
12 def sit(self):
13 """模拟小狗被命令时蹲下"""
14 print(self.name.title() + " is now sitting.")
15
16 def roll_over(self):
17 """模拟小狗被命令时打滚"""
18 print(self.name.title() + " rolled over!")
19
20
21my_dog = Dog('willie', 6) # 创建一个类实例
22
23print("My dog's name is " + my_dog.name.title() + ".") # 访问name属性的值
24print("My dog is " + str(my_dog.age) + " years old.") # 访问属相age的值
25
26my_dog.sit() # 访问类方法
27my_dog.roll_over()
类实例中,可以使用句点表示法访问类的属性值,如my_dog.name何my_dog.age。
同时,也可以使用句点表示发访问类的方法。
上诉代码运行结果为:
热文荐读
2018年12月精选文章目录一览
深度学习开源数据集大全
2018年度最强的30个机器学习项目!
人工智能相关领域的国际顶尖会议介绍
速收藏!最强数据集50个最佳机器学习公共数据!
速收藏,《机器学习实战》Python3环境算法实现代码
亲身经历2019年校招8个大厂心得体会,纯干货分享(大疆、百度...)
重磅!AI近10年21个子领域高引学者!
【资源下载】512页IBM沃森研究员Charu最新2018著作《神经网络与深度学习》(附下载链接)
【资源下载】921页《用Python3带你从小白入门机器学习实战》教程手册
带你自学Python系列(十五):Python中类的用法(一)相关推荐
- Python基础十五:面向对象编程四:高级特性
Python基础十五:面向对象编程四:高级特性 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Em ...
- python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换
[Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- 学习python第十五天,面对对象
学习python第十五天,面对对象 面对对象又叫劝退对象,要么劝退你的对象,要么python劝退你,hhhh 开玩笑,但是这块知识点确实比较难 面向对象编 面向对象编程 指令式编程---->面向 ...
- python系列之:python基础用法
python系列之:python基础用法 一.定义变量,并打印变量 二.Python字符串和引号用法 三.python注释 四.print输出 五.python标准数据类型 六.Python数字Num ...
- ELK系列(十五)、Elasticsearch核心原理一篇全搞定
目录 Lucene 介绍 核心术语 如何理解倒排索引? 检索方式 分段存储 段合并策略 Elasticsearch 核心概念 节点类型 集群状态 3C和脑裂 1.共识性(Consensus) 2.并发 ...
- 【直播资料下载】Python 系列直播——深入Python与日志服务,玩转大规模数据分析处理实战第二讲...
流畅的Python数据处理及大数据处理ETL Python 系列直播--深入Python与日志服务,玩转大规模数据分析处理实战 直播讲师:丁来强(成喆)--阿里高级技术专家,从事阿里云日志服务相关的产 ...
- Python爬虫进阶五之多线程的用法
前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理. 首先声明一点! 多线程和多进程是不一样的!一个是 thread ...
- 数学之美 系列十五 繁与简 自然语言处理的几位精英
数学之美 系列十五 繁与简 自然语言处理的几位精英 我在数学之美系列中一直强调的一个好方法就是简单.但是,事实上,自然语言处理中也有一些特例,比如有些学者将一个问题研究到极致,执著追求完善甚至可以说完 ...
- python做平面设计-Python系列干货之——Python与设计模式
原标题:Python系列干货之--Python与设计模式 一.创建类设计模式 前言: 什么样的程序员是一个好的程序员?学会很多门编程语言,就是一个好的程序员了么?事实上,学会一门编程语言不是一件很难的 ...
最新文章
- Styling with the DataGridColumnStyle
- 如何设计权限管理模块
- SAP MM 物料主数据Plant Data Storage 1视图里的Storage Bin
- Codeforces 845 A. Chess Tourney 思路:简单逻辑题
- 监听edittext中文字个数变化··
- CentOS7,zabbix3.4通过,zabbix-Java-gateway监控Tomcat
- python 对象属性作为参数_如何将对象属性作为函数参数传递给lambda函数?
- flink实时机器学习-alink在线机器学习remote模式贝叶斯建模实验记录
- JavaScript 修改Cookie
- c 语言程序上机考试系统,计算机二级C语言上机考试操作步骤及流程
- Php.ini文件位置在哪里 Php.ini文件找不到
- 趣谈网络协议栈,以太网基础MAC和PHY
- 【漏洞复现】Hadoop YARN 资源管理系统 REST API未授权访问
- Android水平仪实训报告,水准仪测量实训报告
- 炫界 (667) -(回应骑两小)_安徽省桐城市迷你小南瓜春季栽培技术
- 中华大地第二次大变革 看印度反思自我之四 印度穷人甘做“贫民窟业主”
- DDoS攻击--Syn_Flood攻击防护详解(TCP)
- java解压报错java.io.IOException: failed to skip current tar entry
- h5邮件的邮箱 支持_Coremail发布H5邮箱移动模板新版本,多项新功能让办公更便捷...
- 四门外语傍身:外语,让我的大学如此完美
热门文章
- java tcp怎么拆包_Java网络编程基础之TCP粘包拆包
- java给按钮加声音_怎么在java中给按钮添加声音?
- python 计算s= 12+ 22+ 32 +... + (10*n+2)
- 计算机桌面图标的排列,如何进行桌面图标排列 让你的桌面一秒变酷炫【图文教程】...
- phpzend框架_PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
- netty依赖_Netty系列之源码解析(一)
- oracle java javapath_系统找不到C:\ProgramData\Oracle\Java\javapath\java.exe问题及解决方案...
- Centos7 修改主机名
- Anaconda安装新模块
- Spring对象绑定与类型转换