python关于函数的一些应用

前言

鉴于python3与python2有些不同,看到某些代码时可能会感到疑惑,就稍微记录一下。

一.不限制个数的函数参数

1.*args

以此为参数,会被python解释器默认为元组参数,将输入的若干个参数组织成元组类型。

def test_args(*args):#元组类型,tuple参数(*args)
print(args)
print(type(args))
sum = 0
for i in args:
sum+=i
return sum

test_args(1,2,3)

(1, 2, 3)

<class 'tuple'>

6

2.**kwargs

以此为参数会被解释为字典参数,自动将其中输入的若干个"key = value"参数组织成字典的形式:

#字典类型,dict参数(**kwargs)
def PrintDict(**kwargs):
print(kwargs)
print(type(kwargs))
for key, value in kwargs.items():#items()用于字典
print(f'{key}:{value}')

PrintDict(a=1, b=2, c=3, d=4)

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

<class 'dict'>

a:1

b:2

c:3

d:4

二.关于类继承的参数

1.class后的括号

class T1:
def __init__(self):
print("T1")
class T2():
def __init__(self):
print("T2")
T1(),T2()

上述两种类的意义相同,都能成功创建一个简单的类

T1

T2

(<main.T1 at 0x7fb201ad64f0>, <main.T2 at 0x7fb201ad6910>)

当然如果需要使用继承,则必须使用括号

2.super函数的参数

使用super函数进行初始化时有两种初始化方法

super().__init__()

super(inheritName, self).__init__()

其中inheritName是使用此类的名字:

class A(Base):
def __init__(self):
super(A, self).__init__()
#等价于super().__init__()

python函数参数与类参数的更多相关文章

  1. Python函数的定义、参数传入与函数的调用

    作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...

  2. python函数 位置参数,关键字参数,可变参数优先级

    def fun(arg,args=1,*arg,**keywords): python 一共有这四类参数,第一类最常见,不用多说,第二类,关键字参数,python能通过关键字找到参数,python函数 ...

  3. [python 函数学习篇]默认参数

    python函数: 默认参数: retries= 这种形式 def ask_ok(prompt, retries=, complaint='Yes or no, please!'): while Tr ...

  4. Python——函数的命名关键字参数

    命名关键字参数 对于关键字参数,函数的调用者可以传入任意不受限制的关键字参数.至于到底传入了哪些,就需要在函数内部通过kw检查. 仍以person()函数为例,我们希望检查是否有city和job参数: ...

  5. python:函数中五花八门的参数形式(茴香豆的『回』字有四种写法)

    毫不夸张的说,python语言中关于函数参数的使用,是我见过最为灵活的,随便怎么玩都可以,本文以数学乘法为例,演示几种不同的传参形式: 一.默认参数 def multiply1(x, y): retu ...

  6. Python函数中的可变参数

    在Python函数中,还可以定义可变参数. 如:给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……. 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把 ...

  7. python函数,定义,参数,返回值

    python中可以将某些具备一定功能的代码写成一个函数,通过函数可以在一定程度上减少代码的冗余,节约书写代码的时间.因为有一些代码实现的功能我们可能会在很多地方用到. 1.函数的声明与定义 通过def ...

  8. Python——函数中的关键字参数

    关键字参数 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看 ...

  9. Python函数中如何定义参数

    一.位置参数:根据函数定义时的参数位置传递参数#形参和实参的个数必须一致def fun1(): print("运行结果") print("this is fun1(),n ...

  10. [python 函数学习篇] 关键字参数

    函数可以通过 关键字参数 的形式来调用,形如 keyword = value .例如,以下的函数: def parrot(voltage, state='a stiff', action='voom' ...

随机推荐

  1. Linux 配置nginx 代理tomcat,配置ssl

    我就直接干活不废话: 配置文件nginx, nginx.conf #user nobody;worker_processes 1; #error_log logs/error.log;#error_l ...

  2. OSIDP-线程-04

    进程和线程 进程具有两个相互独立的特点: 1.资源所有权:进程包括存放进程映像的虚拟地址空间,具有对资源的控制权. 2.调度/执行:进程具有运行状态和优先级,是可被 OS 调度和分派的实体. 通常将分 ...

  3. django_模型层及ORM介绍

    一.模型层介绍 1.作用:负责跟数据库之间进行通信. 2.django通过驱动mysqlclient与mysql数据库进行通信,所以需要先安装.版本需要是1.3.13以上. 如果直接安装报错,可以直接 ...

  4. Modelsim中的Verilog语言使用

    一.建立工程 1.在建立工程(project)前,先建立一个工作库(library),一般将这个 library 命名为 work.尤其是第一次运行 modelsim 时,是没有这个"wor ...

  5. Android 自定义SeekBar (一)

    一.前言 巩固自定义view基础用,本次尝试构建一个拖动条组件.代码参考于 https://github.com/woxingxiao/BubbleSeekBar ,精简其中高度可重用的部分,仅保留基 ...

  6. Spring AOP @before@after@around@afterreturning@afterthrowing执行顺序

    public Object aop(Method method,Object object) { try { try { /*doAround start*/ doBefore(); method.i ...

  7. 《程序员的自我修养》学习笔记——ELF 文件结构介绍【第二弹】

    ELF 文件结构介绍 文件头 以 ELF 文件64位版本为例: e_ident [ELF魔数 16byte] 1-4字节:ELF 文件都必须相同的标识码,分别为 0x7F,0x45,0x4C,0x46 ...

  8. 干货 | BitSail Connector 开发详解系列一:Source

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 BitSail 是字节跳动自研的数据集成产品,支持多种异构数据源间的数据同步,并提供离线.实时.全量.增量场景下全 ...

  9. java中foreach循环用法详解

    前言 在前面的文章中,千锋壹哥给大家讲解了for.while.do-while三种循环结构,并讲解了如何跳出循环的几种方式,比如break.continue.return等.但是截止到目前,与循环相关 ...

  10. 很强,我终于找到绘制E-R图的正确姿势

    前言 不知道大家是不是和我一样,为了追求速度,开发时一般都是直接建表就干,哪管什么E-R图.直到xxx项目找上你,某某客户要E-R图,提供一下吧.这时候就很烦,从头绘制E-R图成本真的很高,今天我就遇 ...