python

面向对象编程

定义类:clss

类多继承,其中类里面以__开始方法都是内置的来自于父类

注意:构造方法里面的self与java中的this一样,但是this是可以不写,self不同必须存在

如果子类中定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性

class person:
    def __init__(self,first_name,last_name):
        self.__first_name=first_name
        self.__last_name=last_name
    def show(self,s): #this  show(s){}
        print(self.__first_name)
        print(self.__last_name)
        print(self.full_name,s)  #print(propterty(full_name),s)
    @property
    def full_name(self):
        return self.__first_name+'.'+self.__last_name
    @full_name.setter
    def full_name(self,full_name):
        self.__first_name=full_name[:full_name.index(".")]
        self.__last_name=full_name[full_name.index(".")+1:]


p=person("wang","wu")
p.show("haha")
print(p.full_name)
p.full_name="li.si 


"
p.show("heihei")


函数:独立定义,独立调用
def foo():
    pass
foo()
方法:依赖定义,依赖调用

方法依赖于类定义,类名调用

A
  def foo()
     pass
A().foo()


学习函数
    语法
        def  函数名称(参数):
             #函数体
    参数:普通
          关键参数
          动态参数一个星号,会把所有参数转为tupe,两个星号会把参数转为dic

def f1(**kwargs):
    print(kwargs,type(kwargs))

dic = {"k1":123}
f1(k1 = dic)   #执行结果为{'k1': {'k1': 123}} <class 'dict'>
f1(**dic)    #执行结果为{'k1': 123} <class 'dict'> 

变量作用域
    全局  本地  闭包  局部

全局:global

一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。
  全局变量所有作用域都可读,局部变量只能在本函数可读
  函数在读取变量时,优先读取函数本身自有的局部变量,再去读全局变量

全局变量默认可读,如果需要改变全局变量的值,需要在函数内部使用global定义

name = 'zhangsan' #全局变量

def f1():
    age = 18 #局部变量
    print(age,name)

def f2():
    age=19 #局部变量
    print(age,name)

f1()
f2()
>>>
18 zhangsan
19 zhangsan


装饰
#火锅
#麻辣锅底  金品肥牛 极品羊肉  什么蔬菜双拼
装饰用@



import types


def jingpinfeiniu(n):
    print("金品肥牛:¥38")
    if type(n) == types.FunctionType:
        return  n()+38
    return n+38
def shucai(n):
    print("什么蔬菜双拼:$7")
    if type(n) == types.FunctionType:
        return n()+7
    return n+7
@shucai
@jingpinfeiniu
def mala():
    print("麻辣锅底:$12")
    return 12


#shcai(jingpinfeiniu(mala))


#qian=shucai(jingpinfeiniu(mala()))


print("共消费:"+str(mala))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值