Python函数学习

文章介绍了Python中的嵌套函数,nonlocal关键字的使用,以及类的定义和相关概念,包括实例属性、类属性、实例方法、类方法的定义和调用,还有__init__和__new__构造方法,以及__del__析构函数和垃圾回收机制。
摘要由CSDN通过智能技术生成

嵌套函数

def print_name(country,name,familyname):
    def print_name2(a,b):
        print(a,b)

    if country:
        print_name2(name,familyname)
    else:
        print_name2(familyname,name)

print_name(1,"kk","lv")

nonlocal 局部变量

a=5
def outer():
    b = 10
    def inner():
        nonlocal b #声明外部函数的局部变量
        print("inner b:",b)
        b = 20
        global a
        a = 1000
    inner()
    print("outer b:",b)
outer()
print("a:",a)

类的定义

class 类名:
类体
1. 类名必须符合“标识符”的规则;一般规定,首字母大写,多个单词使用“驼峰原则”。
2. 类体中我们可以定义属性和方法。
3. 属性用来描述数据,方法(即函数)用来描述这些数据相关的操作。
class Student:
    def __init__(self,name,score):
        self.name=name
        self.score=score
    def say_score(self):
        print("{0}的分数是:{1}".format(self.name,self.score))

kk=Student('王天',99)
kk.say_score()

__init__构造方法和__new__方法

Python 对象包含三个部分:id(identity 识别码)、type(对象类型)、value(对象的值)。

实例属性和实例方法

实例属性是从属于实例对象的属性,也称为“实例变量”。他的使用有如下几个要点:
1. 实例属性一般在__init__()方法中通过如下代码定义:
self.实例属性名= 初始值
2. 在本类的其他实例方法中,也是通过self 进行访问:
self.实例属性名
3. 创建实例对象后,通过实例对象访问:
obj01 = 类名() #创建对象,调用__init__()初始化属性
obj01.实例属性名= 值#可以给已有属性赋值,也可以新加属性
新加的属性,在新的实例上没有新的属性

实例方法

实例方法是从属于实例对象的方法。实例方法的定义格式如下:
def 方法名(self [, 形参列表]):
函数体
方法的调用格式如下:
对象.方法名([实参列表])

· 其他操作:

1. dir(obj)可以获得对象的所有属性、方法

2. obj.__dict__ 对象的属性字典

3. pass 空语句

4. isinstance(对象,类型) 判断“对象”是不是“指定类型”

类对象

类属性

类属性是从属于“类对象”的属性,也称为“类变量”。由于,类属性从属于类对象,可以
被所有实例对象共享。
类属性的定义方式:
class 类名:
类变量名= 初始值
class Student:
    company = "SXT" #类属性
    count = 0 #类属性
    def __init__(self,name,score):
        self.name = name #实例属性
        self.score = score
    Student.count = Student.count+1
    def say_score(self): #实例方法
        print("我的公司是:",Student.company)
        print(self.name,'的分数是:',self.score)

类方法

类方法用来操作类属性

新建对象时候,没有类属性,也没有类方法

class Student:
    company = "SXT" #类属性
    @classmethod
    def printCompany(cls):
    print(cls.company)
Student.printCompany()

__del__方法(析构函数)和垃圾回收机制

__

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值