Python面向对象基础一
公司可能过一两个月就要从深圳搬到东莞松山湖,项目组的现在有的在转Java或其他语言的,问我们要不要转java+hoodap+spark方向,我还是先不转,毕竟之前是从ios转回C#,这现在在转其他的那样每一种都是学个皮毛,都学的不精通。我还是先把C#学好再说,在学C#的基础上可以了解下其他语言,这周看老板朋友圈发招聘要找python,之前只是听说有这个语言,用处还挺广,可一直没去了解过,昨天晚上算是百度了下,看了下具体介绍,用处也挺广的,机器学习都可以用它,今天上午一早起床安装了开发工具Pycharm来玩一下Python。
一、和C#语言的比较
Python也是面向对象的语言,大家也都知道面向对象有3特征,继承、封装和抽象。Python也不例外,由于自己也算接触过C C++(两个都是大学学的,已经还给老师),工作又接触过OC C#,语言只是工具,他们肯定也是有共性和差异。
二、已面向对象3特征为基础
既然Python是面向对象,也是3大特征,所以可以将3大特征涉及的知识列出来,然后对照着学习,比如继承,C#中单继承,多继承采用接口,Python中多继承可以用,逗号隔开。已C#为参照,学习Python更快。
三、实践检验真理
早上一早起来安装开发工具,倒腾了好久,原本想着先跑步呢,安装完开发环境,写了一个helloworld之后又想着试试面向对象的功能,所以写了下面的一个demo。注释也都在代码中。也比较基础只是大概的粗矿的了解,熟悉其他编程语言一眼就能看出,这里只是做个热身,以后会慢慢熟悉Python的细节。
class Person:
__count=0 #私有属性 在变量、方法前增加两个下划线既声明的是私有变量方法
def __init__(self,name,age): #构造函数
self.name=name
self.age=age
self.__count+=1
print("count is %d" %self.__count)
def __del__(self): #类似C#中析构函数
class_name = self.__class__.__name__
print("%s销毁" % class_name)
def showSelf(self):#实例方法
print("hello,I am a person,my name is %s and my age is %d" % (self.name,self.age))
def __getCount(self): # 私有方法 无法继承不能在外部访问
return self.__count
def get_count(self):
print("count is %d" % self.__getCount()) # 内部访问私有方法
@staticmethod #声明静态方法关键字
def staticTest():
print("staticTest")
@classmethod #声明类方法关键字
def classTest(self):
print("classTest")
class Student(Person):#继承Person父类,如果多个用,隔开
def __init__(self,name,age,school):
super().__init__(name,age) #父类初始化 C#只学base(参数) python 有些不同
self.school=school
def __del__(self):
class_name = self.__class__.__name__
print ("%s销毁"%class_name)
def showSelf(self): #函数重写,覆盖父类方法
print("hello,I am a student,my name is %s,my age is %d and my school is %s" % (self.name, self.age,self.school))
per=Person("cuiyanwei",20)
per.showSelf()
per.staticTest()
per.classTest()
per.get_count()
del per
stu=Student("cuiyanwei",20,"周口师范")
stu.showSelf()
stu.staticTest()
stu.classTest()
stu.get_count()
del stu

Python面向对象基础一的更多相关文章
- Python 面向对象 基础
编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...
- python面向对象基础
面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...
- Python 面向对象基础知识
面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...
- python 面向对象基础和高级复习
面向对象基础 面向对象编程 面向过程编程:类似于工厂的流水线 优点:逻辑清晰 缺点:扩展性差 面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互 优点:扩展性强 缺点: ...
- 十六、python面向对象基础篇
面向对象基础: 在了解面向对象之前,先了解下变成范式: 编程范式是一类典型的编程风格,是一种方法学 编程范式决定了程序员对程序执行的看法 oop中,程序是一系列对象的相互作用 python支持多种编程 ...
- 1.Python面向对象基础
面向对象(OOP) 面向对象编程--object oriented programming 简写 OOP 面向过程和面向对象的区别: 面向过程: 1.把完成某一个需求的所有步骤从头到尾逐步实现 2 ...
- [python面向对象]--基础篇
1.#类 #类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 #定义一个类 class bar: def foo(self,agr): print(self,agr) obj = bar() ...
- Python面向对象基础:编码细节和注意事项
在前面,我用了3篇文章解释python的面向对象: 面向对象:从代码复用开始 面向对象:设置对象属性 类和对象的名称空间 本篇是第4篇,用一个完整的示例来解释面向对象的一些细节. 例子的模型是父类Em ...
- python面向对象基础-01
面向对象(OOP)基本概念 前言 话说三国时期曹军于官渡大败袁绍,酒席之间,曹操诗兴大发,吟道:喝酒唱歌,人生真爽! 众将直呼:"丞相好诗",于是命印刷工匠刻板印刷以流传天下; 待 ...
随机推荐
- Android学习之可滑动当前的Activity视图看见上一个活动的视图
先看一下我的效果图吧: 好大的图啊!!! 百度音乐由一个很酷的功能,当前的UI可以滑动,然后看见上一个活动的UI,当时顿时觉得百度的牛人好多啊,能将如此前沿的技术应用到app上.当然如果你熟悉了And ...
- 数组中超过N分之一的数字
寻找数组中超过一半的元素,这是一道十分经典和普遍的面试题了,实现起来比较容易,只是需要写技巧,将问题扩展就可以衍生到求数组中几个超过N分一的元素,例如找出数组中3个出现次数超过1/4的元素. /*** ...
- shell 命令 bc linux下的计算器
bc命令 在linux环境下的计算器.
- TTL与CMOS门电路
个人观点总结 对TTL和CMOS门电路的认识: 1.构成 TTL集成电路一般都是有三极管(或二极管)和电阻.电容构成,其中三极管(二极管)是作为主要的开关器件 CMOS集成电路一般是由场效应管和电阻. ...
- 安装json插件
谷歌浏览器中安装JsonView扩展程序 实际开发工作中经常用到json数据,那么就会有这样一个需求:在谷歌浏览器中访问URL地址返回的json数据能否按照json格式展现出来. 比如,在谷歌浏览器中 ...
- Nginx 实现端口转发
https://www.cnblogs.com/zhaoyingjie/p/7248678.html Nginx 实现端口转发 什么是端口转发 当我们在服务器上搭建一个图书以及一个电影的应用,其中图书 ...
- sql server 字符串分割函数
),)) )) as begin ) set @SourceSql=@SourceSql+@StrSeprate while(@SourceSql<>'') begin )) insert ...
- 使用WPF制作视频监控多画面切换
前言 曾有做过一个产品,有一个功能是视频监控模块,视频监控首先想到的是视频多画面切换功能,由于前端是用WPF开发的,所以当时就做了一个多画面切换组件,效果如下: 功能设计前提: 由于要使用海康大华天地 ...
- 背水一战 Windows 10 (62) - 控件(媒体类): InkCanvas 保存和加载, 手写识别
[源码下载] 背水一战 Windows 10 (62) - 控件(媒体类): InkCanvas 保存和加载, 手写识别 作者:webabcd 介绍背水一战 Windows 10 之 控件(媒体类) ...
- GoLang学习之Golang数组
Go语言数组 数组是Go语言编程中最常用的数据结构之一.顾名思义,数组就是指一系列同一类型数据的集合.数组中包含的每个数据被称为数组元素( element),一个数组包含的元素个数被称为数组的长度.需 ...