Python第一阶段06
1.面向对象编程:
class Dog:
def __init__(self, name):
self.name = name
def bulk(self):
print("%s 汪汪汪。。。"%self.name)
d1 = Dog("aaa")
d2 = Dog("bbb")
d3 = Dog("ccc")
d1.bulk()
d2.bulk()
d3.bulk()
2.实例变量和类变量:
类变量:大家共用的属性,节省开销;
析构函数:
3.继承:
class People():
def __init__(self,name):
self.name = name def talk(self):
print("talk...") def eat(self):
print("eat...") class Man(People):
def drink(self):
print("drink...") m1 = Man("sisi")
m1.drink()
4.多态:
一种接口,多种实现;
# Author:SiSi
class Animal():
def __init__(self, name):
self.name = name
def talk(self):
print("talk...")
def animal_talk(obj):
obj.talk()
class Dog(Animal):
def talk(self):
print("wangwang...")
class Cat(Animal):
def talk(self):
print("miaomiao...")
d = Dog("aaa")
# d.talk()
d1 = Cat("bbb")
# d1.talk()
a = Animal("sisi")
Animal.animal_talk(d)
Animal.animal_talk(d1)
5.静态方法,类方法,属性方法:
静态方法只是名义上归类管,实际上在静态方法里访问不了类和实例中的任何属性和方法;
类方法只能访问类变量,不能访问实例变量;
属性方法:
# Author:SiSi class Dog(object):
def __init__(self, name):
self.name = name @staticmethod # 实际上和类没什么关系了
def eat(self):
print("%s is eating..."%(self.name)) @classmethod
def drink(self):
print("我说类方法") @property
def log(self):
print("我是属性方法。。。") @eat.setter
def log(self, food):
print("log:",food) @eat.deleter
def log(self):
# del self._food
print("删完了。。。") d = Dog("sisi")
# Dog.eat()
d.eat(d)
6.反射详解:
7.异常处理:
names = ['aaa', 'bbb']
data = {} try:
names[]
data['name'] except {KeyError, IndexError} as e:
print("没有这个key",e)
except IndexError as e:
print("列表操作错误",e) except Exception as e:
print("未知错误",e) else:
print("一切正常") finally:
print("不管有错没错,我都执行")
8.Socket通信:
Python第一阶段06的更多相关文章
- python第一阶段总结(2)
python3第一阶段的总结 首先申明一下,本人是看网络课程“老男孩”过来写博客的,想把自己学到的东西分享一下.同时给老男孩打个广告,其教学水平真的挺好的.仅据我个人多年的学习评价. 好,接下来是我对 ...
- python第一阶段总结(1)
python3第一阶段的总结 首先申明一下,本人是看网络课程“老男孩”过来写博客的,想把自己学到的东西分享一下.同时给老男孩打个广告,其教学水平真的挺好的.仅据我个人多年的学习评价. 好,接下来是我对 ...
- Python第一阶段05
1.内置方法: 2.Json序列化: import json info = { 'name': 'sisi', } f = open("test.text", "w&qu ...
- Python第一阶段02
1.模块: import sys print(sys.path) # 打印环境变量 print(sys.argv) # 打印当前文件绝对路径 # print(sys.argv[]) import os ...
- Python第一阶段04
1.文件操作: # 指明编码 f = open("sisi", encoding="utf-8") # 读 data = f.read() print(data ...
- Python第一阶段03
1.文件操作: # 指明编码 f = open("sisi", encoding="utf-8") # 读 data = f.read() print(data ...
- Python第一阶段01
1.变量: name = "sisi" print(name) age = print(age) 2.常量: PIE = 3.1415926 3.注释: # password = ...
- 计算机二级Python(第一阶段)
介绍 本篇文章主要针对于计算机二级考试的崽崽,当然想了解Python和学习Python的崽崽也是可以看本篇文章的:毕竟,手机和电脑都可以运行Python:本篇我文章虽然是笔记,但是也纯靠手打,希望 ...
- Python并发编程06 /阻塞、异步调用/同步调用、异步回调函数、线程queue、事件event、协程
Python并发编程06 /阻塞.异步调用/同步调用.异步回调函数.线程queue.事件event.协程 目录 Python并发编程06 /阻塞.异步调用/同步调用.异步回调函数.线程queue.事件 ...
随机推荐
- 求序列A中每个数的左边比它小的数的个数(树状数组)
给定一个有N个正整数的序列A(N<=10^5,A[i]<=10^5),对序列中的每一个数,求出序列中它左边比它小的数的个数. 思路:树状数组的经典应用(裸题) #include <i ...
- LeetCode 364. Nested List Weight Sum II
原题链接在这里:https://leetcode.com/problems/nested-list-weight-sum-ii/description/ 题目: Given a nested list ...
- (转载) 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
安装完之后别忘了还需要安装SSMS,这是坑爹的地方之二,干嘛不集成到SQL Server安装包里还要用户自己单独下载 下载地址:https://msdn.microsoft.com/en-us/lib ...
- 014——C#新建文件夹
(一)如果不存在路径就新建文件夹 string directory = @"C:\Users\Administrator\Desktop\温控数据\"; if (!Director ...
- VS - Microsoft.Practices.EnterpriseLibrary.Logging
string fileName = AppDomain.CurrentDomain.BaseDirectory + "\\log.txt";File.AppendAllText(f ...
- override关键字
https://www.cnblogs.com/xinxue/p/5471708.html 2 重写 (override) 在 1.2.2 中提到 override 关键字,可以避免派生类中忘记重写 ...
- nginx+uwsgi+python3+pipenv+mysql+redis部署django程序
1.下载项目 git clone https://github.com/wangyitao/MyBlogs.git 2.进入Myblogs目录 cd MyBlogs 3.创建虚拟环境并且安装依赖 pi ...
- Spring boot 解决跨域问题
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.we ...
- Ubuntu16.04 RYU pip命令安装
pip命令安装方法 sudo apt install gcc python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev ...
- 依赖倒置原则(DIP)
1. 定义 (1)高层模块不应依赖于低层模块,两者都应该依赖于抽象.(2)抽象不应该依赖于细节,细节应该依赖于抽象. 为什么是“倒置”这个词? 这是由于许多传统的软件开发方法,比如结构化分析和设计,总 ...