五、Python函数和类

一 函数

1 def

格式①:

def a():
	print(123)
a()
# 123

格式②:

def a(c,d)
	b = c+d
	return b
print(a(5,6))
# 11

2 参数

2.1 传递多个参数

def a(*d)
	return d
print(a('luck','jack','iop'))
# luck jack iop

2.2 任意数量关键数实参

def a(j,k,**l):
    l['pw'] = j
    l['us'] = k
    return l
print(a(1,2,jk=53,bg=64))
# {'jk': 53, 'bg': 64, 'pw': 1, 'us': 2}

解释:**l想当于创建了个字典函数里就是给字典添加内容,同时关键词参数也是在给字典添加内容

3 导入

3.1 导入整个文件

文件1:
名字:name.py

def a(j,k,**l):
    l['pw'] = j
    l['us'] = k
    return l
def b():
	print(567)

文件2:
名字:daoru.py

import name
print(name.a(1,2,jk=53,bg=64))
# {'jk': 53, 'bg': 64, 'pw': 1, 'us': 2}

3.2 导入单个函数

继承上面的代码:from name import a
解释:这样a函数就唯一的被调用进来了

3.3 导入内容起别名

继承上面的代码:

  1. from name import a as c
  2. import name as c
    解释:Ⅰ导入函数这个就可以用c这个名字代替a;Ⅱ导入文件这个就可以用c这个名字代替a

4 常用函数

4.1 lambda

解释:python中的一类特殊的定义函数的形式
实例:
1.p = lambda x,y:x+y ;print(p(4,6))#10
2.

a=[('b',3),('a',2),('d',4),('c',1)]
print(sorted(a,key=lambda x:x[1]))
#[('c', 1), ('a', 2), ('b', 3), ('d', 4)]

4.2 global

解释:在一个函数里面想要访问外面写的全局变量可直接访问,但是想要修改它的值,需要先声明其为全局变量global,否则不能修改其值(函数中定义修改的都是局部变量
格式:

a = 5
def 函数():
	global a

举例:

number = 100

def bb():

    # global number
    number=101
    print(number)
bb()
# 101

二 类和面向对象

1 初始化

解释:此def __init__(self)在实例化后将会被自动执行

class Ajk():
    def __init__(self):
        self.name=5
    def a(self):
        self.gog=6
    def b(self):
        print(self.name)
    def ccc(self,nk):
    	print(nk)
cc = Ajk()
cc.b()
# 5

注意:
1._inif_ (self)定义上class类默认调用运行变量前加self之后,这个变量可供中所有方法使用;类内调用该参数需要加self,外部调用不需要
2. 类名用大写字母
3. 括号中的self必须添加,因为python在运行类时会默认传入实参self
4.类名后传入的参数,默认给_init_(self,canshu)

2 修改属性的值

2.1 直接修改__init__()的值

class A:
    def __init__(self):
        self.name =5
    def a(self):
        name = self.name
        print(name)
aa = A()
aa.name=100
aa.a()
#100

注意:修改时直接类.变量;因为调用类默认调用def __init__(self)

2.2 赋值修改普通函数的值

class Ajk():
    def ccc(self,nk):
    	print(nk)
cc = Ajk()
cc.ccc(5)
# 5 
cc.ccc(20)
# 20

2.3 修改访问在类里面的值

class Aadadadad():
    a = 55
    def __init__(self):
        self.a =66
print(Aadadadad.a)
Aadadadad.a=77
print(Aadadadad.a)
# 55
# 77

3 继承

3.1 继承def _init_(self)

情景①
解释:子类里面没有写def _init_(self),默认也就把父类的def _init_(self)也就继承了,不用添加super().__init__()

class Ajk():
    def __init__(self):
        self.name=16
    def b(self):
        print(5)
class Bjk(Ajk):
    def cc(self):
        print(self.name)
bbb = Bjk()
bbb.cc()
# 16

情景②
解释:子类里面def _init_(self),这时候父类的def _init_(self)被覆盖,如果还想用父类的def _init_(self)就需要写上super()_init_()来继承,切记参数位置需要填写且保持一致

class Ajk():
    def __init__(self):
        self.name=16
    def b(self):
        print(5)
class Bjk(Ajk):
    def __init__(self):
        super().__init__()
    def cc(self):
        print(self.name)
bbb = Bjk()
bbb.cc()
# 16

3.2 A类的属性 调用 B类的函数

class A:
    def __init__(self,name):
        self.name =name
    def a(self):
        name = self.name
        print(name)
class B:
    def __init__(self):
        self.age=A(150)
bb = B()
bb.age.a()
# 150

解释:每当B()被调用都会创建A类的实例并且传入值

4 装饰器

4.1 @property

用途:
① 将函数方法转化为属性(无需加括号一般去调用)

class B:
    def __init__(self):
        self.name = 55

    @property
    def c(self):
        return self.name

bb = B()
print(bb.c)
# 55
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的函数是可以重复使用的程序段,它由一块语句和一个名称组成,可以在程序的任何地方多次调用。装饰器是Python中用来修饰函数的一种特殊语法。通过定义一个嵌套函数,并使用@符号将其应用到目标函数上,可以给函数添加一些额外的功能或行为。装饰器可以将函数赋值给另一个函数,实际上,在调用被装饰函数时,执行的是嵌套函数。 在Python中,是一种面向对象的编程概念。是对象的蓝图,它定义了对象的属性和方法。通过定义一个,可以创建多个具有相同属性和方法的对象。通过实例化来创建对象,实例化是指根据创建一个具体的对象。对象可以访问的属性和方法,并且可以根据需要进行修改和扩展。 总的来说,Python中的函数用于封装可重用的程序段,而用于定义对象的属性和方法。函数Python编程中非常重要的概念,它们可以帮助我们更好地组织和管理代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 函数的使用-python基础,python函数的使用说明,有python2的参考代码](https://download.csdn.net/download/li171049/88221777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python基础知识整理二:函数](https://blog.csdn.net/weixin_45486448/article/details/120106232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值