python类实例化_python基础8之类的实例化过程剖析

一、概述

之前我们说关于python中的类,都一脸懵逼,都想说,类这么牛逼到底是什么,什么才是类?下面我们就来讲讲,什么是类?它具有哪些特性。

二、类的语法

2.1 语法

class dog(object): #用class定义类

"dog class" #对类的说明

def __init__(self,name): #构造函数或者是构造方法,也可以叫初始化方法

self.name = name

def sayhi(self): #类方法

"sayhi funcation" #对类方法的说明

print("hello,i am a dog,my name is ",self.name)

d = dog("alex") #定义一个d的对象,叫实例

d.sayhi() #调用实例的方法

2.2 self关键字

有很多小伙伴不禁的疑问,这个self是什么鬼?为什么在执行sayhi函数时,上面的self.name可以在函数中被调用?如下图:

1147891-20170612125225587-1945674226.png

其实self 这个关键字相当于实例化对象本身(self相当于d),在实例化过程中,把自己传进去了,我们队上面的两行做一下解释:

1147891-20170612125312009-516381093.png

2.3 函数__init__()

在类中__init__()函数叫构造函数,又叫构造方法,也可以叫初始化函数。它的作用就是初始化实例时,初始化传入实例的的默认值。如果不写__init__(),就会调用的默认为空的__init__(),说白了,这个方法不管你写不写,都会调用,而且,一旦实例化就会调用。

class dog(object):

"dog class"

def __init__(self,name): #构造方法,不写调用默认的构造方法

self.name = name

def eat(self,food):

print("the dog name is {0},it like food is {1}".format(self.name,food))

d = dog("alex")

d.eat("hotdog")

#输出

the dog name is alex,it like food is hotdog

三、总结

最后我们画一个图,来说明一下实话过程的图,不然真的很难理解这个玩意:

1147891-20170612125517993-2025629438.png

由上图可知:其实self,就是实例本身!你实例化时python会自动把这个实例本身通过self参数传进去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

db2 sql 判断select是否为空_学会复杂一点的SQL语句:Oracle DDL和DML

create:创建表创建用户创建视图创建表create table student(id int,score int) ;student后面与括号之间可以有空格可以没有创建用户create user liuyifei identified by 4852396;drop:删除整个表、删除指定的用户、删除指定的存储空间drop table table_n…

dataframe 一列的不同值_python数据分析包|Pandas-02之缺失值(NA)处理

本篇详解pandas中缺失值(Missing data handling)处理常用操作。缺失值处理常用于数据分析数据清洗阶段;Pandas中将如下类型定义为缺失值:NaN: ‘’, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’,‘-NaN’, ‘-na…

https抓包_从Wireshark抓包看HTTPS的加密功能

近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来…

【Python】pip管理Python包

命令&#xff1a;pip install <包名> 安装指定的包。 pip install ipython #或者 pip install ipython -i https://mirrors.aliyun.com/pypi/simple/ 命令&#xff1a;pip uninstall <包名> 删除指定的包。 pip uninstall ipython 命令&#xff1a;pip list 显…

python整数类型在每一台计算机上的取值范围是一样的_关于python统计一个整数列表中不同数值种类数的问题。...

下面这段代码中&#xff0c;kind_num用于统计那个整数列表中有几种不同数值的整数。 class Solution(object): def distributeCandies(self, candies): """ :type candies: List[int] :rtype: int """ loc len(candies) mol loc % 2 if not (2…

实验报告总结_小学四年级数学下册全册知识点总结 ,家有四年级学生的家长收藏...

一、观察物体知识技能目标知道从低到高观察物体&#xff0c;体会出不同的位置看到的范围是不一样的&#xff0c;由远到近看到的范围是越来越小&#xff0c;从而体会不同距离观察物体形状的变化。知识检测摆一种物体&#xff0c;从不同的面去观察&#xff0c;看到的面是什么图形…

配置中心_Nacos做配置中心

一、简单使用Nacos官方快速开始文档&#xff1a;https://nacos.io/zh-cn/docs/quick-start.html在每个服务中编写bootstrap文件&#xff0c;服务使用该文件启动&#xff0c;并根据该文件的指引到Nacos获取配置信息bootstrap文件示例&#xff0c;可以不用写端口&#xff0c;需要…

mysql lock_MySQL-锁总结

锁锁机制用于管理对共享资源的并发访问。lock和latch在数据库中&#xff0c;lock和Latch都称为锁&#xff0c;但是两者意义不同。latch称为闩锁(shuang suo)&#xff0c;其要求锁定的时间必须非常短。若持续的时间长&#xff0c;则应用的性能会非常差。在InnoDB存储引擎中&…

hive 两个没有null指定的表左关联的结果有null_Hive的优化原则

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/174469951本篇将 Hive 的优化分成三个部分:第一部分是 SQL 通用语法优化&#xff0c;第二部分是针对 Hive 所具有的数据倾斜的优化&#xff0c;第三部分则介绍一些通用性的 Hive 参数设置优化。一、语法优化 SQL 的语法优化本…

python数据分析兼职能挣钱吗_Python开发能从事数据分析吗

Python不仅是人工智能时代最佳的编程语言&#xff0c;同时也是数据分析、科学运算的首选编程语言。学习Python就业方向多&#xff0c;比如Web网站开发、人工智能等。Python数据分析师需要掌握哪些技能&#xff0c;从各大招聘网站对其的基本任职要求可以了解一二&#xff1a; 1、…

python中打开文件open_Python中打开文件的方式(With open)

1.读文件 要以读文件的模式打开一个文件对象&#xff0c;使用Python内置的open()函数&#xff0c;传入文件名和标 示符&#xff1a; f open( /Users/michael/test.txt, r ) 标示符’r’表示读&#xff0c;这样&#xff0c;我们就成功地打开了一个文件。 如果文件不存在&#x…

jdk 安装_Linux入门之Linux CentOS安装jdk

第一步&#xff1a;创建jdk安装目录(该/usr/local/src 目录是空的,最好把我们自己下载的放到这,容易区分)mkdir -p /usr/local/src/jdk第二步&#xff1a;查看之前是否安装rpm -qa | grep -i jdk若之前安装过jdk&#xff0c;下次安装一定把之前的删除干净第三步&#xff1a;命令…

asp点击按钮sql列求和_SQL 结构化查询语言

SQL特点SQL是大小写无关的&#xff0c;但一般的习俗是&#xff0c;关键字大写&#xff08;SELECT WHERE&#xff09;&#xff0c;用户自定义的小写&#xff0c;如表名。SQL如何注释&#xff0c; 两个 -- 开头&#xff0c;即为注释。SQL只用于关系型数据库&#xff0c;如MySQL&a…

获取两个圆的重合部分的经纬度_(2)万向节的装配和动画仿真:重合同轴心装配约束很常用...

前面的一篇文章中我们已经将万向节装配完成了一部分&#xff0c;还有一部分没有完成装配。前面的装配当中用到了重合&#xff0c;同轴心&#xff0c;相切的装配约束&#xff0c;这几个装配约束都是比较常用的大家一定要注意掌握。前面的话接下来的课程当中我们将会进行完整的装…

php无法连接mysql_php无法连接数据库

PHP无法连接数据库的解决办法总结&#xff1a;1、获取当前 mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket 配置信息建立一个 PHP 文件&#xff0c;显示 phpinfo()&#xff0c;用浏览器打开如图:在此页面&#xff0c;找到mysql.default_socket、mysql…

oracle 查看监听命令_linux下使用Oracle常用命令

进入Oracle用户1su - oracle以dba身份进入sql语句1sqlplus / as sysdba启动数据库相关命令启动数据库1startup启动监听(关闭监听的命令lsnrctl stop)&#xff0c;退出sql编写界面1lsnrctl start关闭数据库服务&#xff0c;在sql编写界面1shutdown immediate常看当前连接用户的信…

对飞行前请求的响应未通过访问控制检查:它没有http ok状态。_对不起,看完这篇HTTP,真的可以吊打面试官...

点击上方“码农沉思录”&#xff0c;选择“设为星标”优质文章&#xff0c;及时送达HTTP 内容协商什么是内容协商在 HTTP 中&#xff0c;内容协商是一种用于在同一 URL 上提供资源的不同表示形式的机制。内容协商机制是指客户端和服务器端就响应的资源内容进行交涉&#xff0c;…

mysql hma 分布式_mysql基础之mariadb集群双主(主主)架构

一、概念在企业中&#xff0c;数据库高可用一直是企业的重中之重&#xff0c;中小企业很多都是使用mysql主从方案&#xff0c;一主多从&#xff0c;读写分离等&#xff0c;但是单主存在单点故障&#xff0c;从库切换成主库需要作改动。因此&#xff0c;如果是双主或者多主&…

c++十六进制转十进制_一文帮你详细图解二进制、八进制、十进制、十六进制之间的转换...

1、背景(Contexts)之前使用SQL把十进制的整数转换为三十六进制&#xff0c;SQL代码请参考&#xff1a;SQL Server 进制转换函数&#xff0c;其实它是基于二、八、十、十六进制转换的计算公式的&#xff0c;进制之间的转换是很基础的知识&#xff0c;但是我发现网络上没有一篇能…

ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储

//留言点赞赠书我有书&#xff0c;你有故事么&#xff1f;留言说出你的存储故事留言点赞前两名&#xff0c;免费送此书截止日期12.27号12.30号公布名单//内容简介本书致力于帮助读者形成有关Linux开源存储世界的细致的拓扑&#xff0c;从存储硬件、Linux存储堆栈、存储加速、存…