当前位置: 首页 > news >正文

武汉做网站的大公司有哪些产品推广朋友圈文案

武汉做网站的大公司有哪些,产品推广朋友圈文案,交互式网站和非交互式网站,网站移动端权重怎么做面向对象基础 反射 一 、反射(根据字符串的形式去对象(某个模块)中操作成员) python中的反射功能是有以下四个内置函数提供:hahasattr、getattr、aetattr、delattr,这四个函数分别用于对对象内部执行:检查是…
面向对象基础 反射

一 、反射(根据字符串的形式去对象(某个模块)中操作成员)

  python中的反射功能是有以下四个内置函数提供:hahasattr、getattr、aetattr、delattr,这四个函数分别用于对对象内部执行:检查是否含有某成员,获取成员、设置成员、删除成员

1、通过字符串的形式来导入模块

inp=input("请输入模块名:")
mo=__import__(inp)

 2、通过字符串的形式,在模块中寻找指定的函数,并执行

两种情况:1、如果在同级目录下面直接用__import__("xxxx")

       2、如果不在同一级目录下面(目录嵌套)用__import__("xxx.xxxx.xxx",fromlist=True)

# getattr
inp = input("请输入模块名:")  #以字符串的形式导入模块 mo = __import__(inp) inm = input("请输入函数名:")  #以字符串的形式在模块中找方法  相当于form  xxx  import  xxx f = getattr(mo,inm) f()

getattr(模块名,"xxx",None)  去模块中找xxx,如果没有没有找到则报错,我们也可以设置默认值None  如果没有找到则返回None(不报错)

 hasattr(模块名,"xxx")根据字符串的形式判断xxx是否存在

setattr(模块名,"xxx",xxx)在内存中为某个模块设置一个东西

import asd
print(hasattr(asd,"age"))
setattr(asd,"age",18)
print(hasattr(asd,"age"))False
True

 delattr(模块名,"xxx") 在内存中删除某个东西

import asd
print(hasattr(asd,"name"))    #以前有
delattr(asd,"name")              #现在删除
print(hasattr(asd,"name"))True
False

 基于反射实现类web框架的路由系统

import asd
url=input("请输入网址:")
new=url.split("/")
ret=hasattr(asd,new[1])                #用户直接输入网址www.xxxxxx/方法  就可以执行方法
if ret:r=getattr(asd,new[1])r()
else:print("404")

 

url=input("请输入模块名/方法:")
mo,faf=url.split("/")
m=__import__("xxx."+mo)
ret=hasattr(m,faf)                  #用户通过输入模块名/犯法就可以从任意的一个模块下执行任意一个方法
if ret:r=getattr(m,faf)r()
else:print("404")

 二、面向对象

概述:

面向过程:根据业务逻辑从上到下垒代码

函数式编程:将某功能代码分装到函数中,日后便无需再写,直接调用

创建类和对象

面向对象编程是一种编程方式,此编程方式的使用需要使用 “类” 和 “对象”实现,所以面向对象就是对类和对象的使用

(类中函数的第一个参数必须是self,且此self就等同于方法的调用者既对象)

class f:def f1(self):passdef f2(self):pass
obj=f()
obj.f1()

面向对象的三大特性:

封装,继承和多态

1、封装,顾名思义就是把内容分装到某个地方

使用场景1:当同一类型的方法具有相同的参数时,直接封装到对象即可

使用场景2:把类当做模板,创建多个对象(对象内封装的数据可以不一样)

所以在使用面向对象的封装功能时:

1、将内容分装到某处

2、从某处调用封装的函数

1>通过对象直接调用被封装内容

self.xxx=xxx   称为普通字段

def __init__(self, name, age):构造方法

class Foo:def __init__(self, name, age):self.name = nameself.age = age  obj1 = Foo('wupeiqi', 18)
print (obj1.name)    # 直接调用obj1对象的name属性
print (obj1.age)     # 直接调用obj1对象的age属性obj2 = Foo('alex', 73)
print (obj2.name)    # 直接调用obj2对象的name属性
print (obj2.age)     # 直接调用obj2对象的age属性

 2>通过self间接调用被封装内容

class Foo:def __init__(self, name, age):self.name = nameself.age = agedef detail(self):print (self.name)print (self.age)obj1 = Foo('wupeiqi', 18)
obj1.detail()  # Python默认会将obj1传给self参数,即:obj1.detail(obj1),所以,此时方法内部的 self = obj1,即:self.name 是 wupeiqi ;self.age 是 18obj2 = Foo('alex', 73)
obj2.detail()  # Python默认会将obj2传给self参数,即:obj1.detail(obj2),所以,此时方法内部的 self = obj2,即:self.name 是 alex ; self.age 是 78

 综上所述,对于面向对象的封装来说,其实就是使用构造方法将内容封装到 对象 中,然后通过对象直接或者self间接获取被封装的内容。

 2、继承(既派生类可以继承基类的方法或子类可以继承父类的方法)

注意:派生类和基类同时存在某个功能,优先使用派生类中的功能

     python类可以继承多个类(c#、java不行)

    优先 :自己   >>>> 左边 >>>> 右边

  动物:吃、喝、拉、撒

     猫:喵喵叫(猫继承动物的功能)

     狗:汪汪叫(狗继承动物的功能)

class Animal:def eat(self):print ("%s 吃 " %self.name)def drink(self):print ("%s 喝 " %self.name)def shit(self):print ("%s 拉 " %self.name)def pee(self):print ("%s 撒 " %self.name)class Cat(Animal):def __init__(self, name):self.name = nameself.breed = '猫'def cry(self):print ('喵喵叫')class Dog(Animal): def __init__(self, name):self.name = nameself.breed = '狗'def cry(self):print ('汪汪叫')     # ######### 执行 #########
c1 = Cat('小白家的小黑猫')
c1.eat()
c2 = Cat('小黑的小白猫')
c2.drink()
d1 = Dog('胖子家的小瘦狗')
d1.eat()

 3、多态

多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性

=====================总结============================

面向对象是一种编程方式,此编程方式的使用是基于对象的使用

类是一个模块,模板中包含了多个“函数”(方法)供使用

根据模板创建的实例即为对象(类的实例化)实例用于调用被包装在类中的函数

面向对象三大特性:封装、继承、多态

 

posted on 2017-05-14 19:07 叶祖辉 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/yezuhui/p/6853415.html

http://www.lbrq.cn/news/2805967.html

相关文章:

  • 西安小型企业网站建设宁波最好的seo外包
  • 漂亮的幼儿园网站模板网络营销推广的渠道有哪些
  • 怎么提高网站百度权重怎么做蛋糕
  • 十大传媒公司排名正版seo搜索引擎
  • 怎么用ps做静态网站网站seo诊断技巧
  • 邯郸专业做网站哪里有百度投诉中心24人工
  • java可以用来做网站吗百度上海分公司
  • 淘宝网页版电脑版登录入口东莞seo代理
  • 南宁网站建设云尚网络百度权重是什么
  • 做调查问卷的网站什么是软文写作
  • 广州专业做网站网络营销模式有哪些
  • 长沙商城小程序开发网站排名在线优化工具
  • 制作网站空间域名优化的定义
  • 怎样利用网站做引流广告营销案例分析
  • 做网站改版多少钱域名注册服务网站
  • 如何做网站的需求分析网络广告四个特征
  • 用护卫神做网站友谊平台
  • 麻烦各位童鞋视频优化是什么意思
  • 做什么网站营销型网站建设模板
  • 定制化网站建设个人免费建站软件
  • 建设企业网站的时间百度热搜广告位
  • 苗木网站建设短视频seo优化排名
  • 成全免费观看在线看站内seo优化
  • 外贸做企业什么网站建设关键词搜索指数
  • 动物园网站建设的可行性分析app推广实名认证接单平台
  • 做logo的比赛网站管理方面的培训课程
  • 五屏网站建设如何论坛推广怎么做
  • wordpress企业官网主题下载网络优化工程师前景如何
  • 鞍山做网站的慧聪网seo页面优化
  • 网站图文列表济南seo整站优化价格
  • Design Compiler:层次模型(Block Abstraction)的简介
  • 大语言模型原理(Transformer架构)
  • 【矩池云】实现Pycharm远程连接,上传数据并解压缩
  • Python学习-- 数据库和MySQL入门
  • Prompt魔法:提示词工程与ChatGPT行业应用读书笔记:提示词设计全能指南
  • React框架超详细入门到实战项目演练【前端】【React】