一点理解

本文深入探讨Python编程的关键概念,包括列表、字典等数据类型的操作,匿名函数的使用,类和对象的特性,如封装、继承和多态,以及异常处理和模块重载。同时,文章还讲解了如何在类中正确使用类属性、实例属性和静态方法。

1.Python : list1=[1,2,3] list2=list1[:] 表示新建了一个表
List3=list1 list3和list1相关联,如果 list1变 ,list3也变,而list2不会变。、
2.匿名函数:
Func_new=input(“请输入个匿名函数:”) input接受的是字符串
Func_new=eval(Func_new)
才可以接着调用
3.Python可变的数据类型:字典,列表,集合
Python不可变的数据类型:数字、字符串、元组。
a=100
def=test(num)
num+=num
Print (num)
Test(a)
Print (a)
结果为 200
100
如果输入的是可变数据
a=[100]
结果为[100,100]
[100,100]
num +=num 不等于num=num+num
如果上式num +=num 改为num=num+num
输出为[100,100]
[100]

  1. 类中的私有方法不能直接在外部调,只能在内部
    私有方法表示:def __hanshuming:
    举例:
    Class dog:
    def __seng_msg(self):
    Print(正在发送)
    Def send_msg(self,money):
    if money>10000:
    Self.__send_msg()
    Sys.getrefcount()查看调用次数
    5.调用
    Class Dog:
    Def bark(self):
    Print(“汪汪叫”)
    Class xiaotianquan(Dog)
    ##重写函数
    Def bark(self):
    Print(“狂叫”)
    ##第一种调用被重写的父类的方法
    Dog.bark(self)
    ##第二种
    Super().bark()
    私有方法只能在父类中执行。
    6.查看函数继承父类顺序的函数 .mro
    7.面向对象的三要素,封装,继承,多态。
    封装:把全局变量和函数封装起来变成对象。
    继承:子类继承父类功能
    多态:定义的时候不确定调用那个功能,而是在使用时确定。
    8.类属性,实例属性

9类方法
Class Game:
#类属性
num=0
#实例方法
Def init(self)
Self.name=laowang
#类方法
@classmothod
Def add_num(cls)
Cls.num=100
game=Game()
Game.add_num()第一种
game.add_num()第二种
9.静态方法
10.类中添加静态方法
Class A:
@staticmethod
Def printmenu() #里面可以不用加self
Print(“开始游戏”)
总结对类属性操作用类方法,对实例属性方法操作用实例方法,都不操作用静态方法。
11.创建类之后首先调用__new__方法,作用创建对象,在调用__init__方法,作用初始化,最后调用__del__方法,作用删除类。
12.异常处理:
Try:
#错误的代码
Except 错误类型名字:
或者
Except Exception as act:(Exception指所有类型异常的统称)
Print(act)
13.重新导入模块
先导入模块,在修改模块内容,在调用,模块功能不会改变,需要重新导入模块。
From imp import *
Reload (test)
14 深拷贝与浅拷贝
浅拷贝:a=15
b=a
a和b的地址是一样的。
深拷贝:
导入copy模块
Import copy
a=15
b=a.copy.deepcopy(a)
a和b的地址不一样。
15 使用copy模块的copy功能,他会根据copy的数据类型的不同有不同的处理方式。
16.私有属性
Class TEST:
Def init(self):
Self.__num=100
t=TEST()
t.__num是不允许使用的,实质上是改了名字的,改成了t._TEST__num
16.property的用法
class TEST:
def init(self):
self.__num=200
def setnum(self,newnum):
self.__num=newnum
def getnum(self):
return self.__num
num=property(getnum,setnum)
t=TEST()
t.num=100
print(t.num)
输出为 100
修改了私有属性
17 闭包函数
定义一个函数,在函数里面在定义一个函数,这个函数会用到外面函数的变量,并且里面这个函数会在外面的函数作为返回值
18装饰器
def w1(func):
def function():
print(“正在验证”)
func()
return function
@w1
def f1():
print(“f1”)
@w1
def f2():
print(“f2”)
####f1=w1(f1)
f1()
装饰器在调用之前就已经执行了,在@w1的就已经执行,把f1装进w1了。
19给实例属性动态添加方法
import types
class person:
def init(self,newname):
self.name=newname
def eat(self):
print("%s正在吃"%self.name)
p1=person(“laowang”)

p1.eat=types.MethodType(eat,p1)
p1.eat()
20限制给实例添加属性,用__slot__方法
class person:
slots = (“name”)
p=person()
p.name=“老王”
21.type也可以创建类
比如type(“类名”,(继承的父类),{属性})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值