只有我一个能看懂的乱乱的函数基础知识复习

首先函数是什么呢????函数封装了一个功能,需要的时候就去调用就好,def ret_demo(dic):#1.先定义一个函数    while True:#3.开始执行while循环        if len(dic) > 3:#4.判断长度是否大于三,            print("长度超了")            return False#5.返回一个 False,return是结束标志            break #return后面的不执行        else:            print(‘长度刚刚好‘)

ret = ret_demo([1,2,3,4,5])#2.函数的调用,传入参数print(ret)#最后输出def ret_demo1():    return 1,2,3,4#输出(1,2,3,4)def ret_demo2():    return 1  #只返回1def ret_demo3():    return 1,#返回元组的形式(1,)def ret_demo4():    return (1,2,3)#返回(1,2,3)def ret_demo5():    return (1,2,3),4#((1,2,3)4)def ret_demo6():    return ‘a‘,‘b‘,‘c‘,56   #(‘a‘,‘b‘,‘c‘,56 )def ret_demo7():    return (1,2,3),(1,2),[33,44],{‘name‘:‘jx‘,‘age‘:12}#( (1,2,3),(1,2),[33,44],{‘name‘:‘jx‘,‘age‘:12})def ret_demo8():    return {1,2,3} #竟然返回的是字典def ret_demo9():    return [1,2,3]#返回的是列表print(ret_demo1())print(ret_demo2())print(ret_demo3())print(ret_demo4())print(ret_demo5())print(ret_demo6())print(ret_demo7())print(ret_demo8())print(ret_demo9())def trans_para(a,b):    print(a,b)trans_para(20,30,2)#这是错误的,按位置传参,那个2没有参数来接收

b,关键字传参。def trans_para(a,b):    print(a,b)trans_para(b=30,a=20)#按关键字传参,位置前后不重要

c,混合参数(位置参数必须在前面)

def trans_para(a,b,c):    print(a,b,c)trans_para(10,20,c=40)

d,默认参数。def trans_para(a,b,c="a"):    print(a,b,c)trans_para(10,20,c=40) 10,20,40trans_para(10,20)#10,20,a

e,不定长参数*args,**kwargs。def trans_para(*args,**kwargs):    print(args,type(args))    print(kwargs,type(kwargs))trans_para("jinxin",12,[1,2,3,4],[3,4,],(1,4,7),{"a":"123","c":456},country="china")#"jinxin",12,[1,2,3,4],[3,4,],(1,4,7),{"a":"123","c":456}#country="china"def foo(*args,**kwagrs):    print(‘args=‘,args)    print(‘kwargs=‘,kwagrs)    print(‘------------------‘)if __name__==‘__main__‘:#用来做输出的    foo(1,2,3,4)    foo(a=1,b=2,c=3)    foo(1,2,3,4,a=1,b=2,c=3)    foo(‘a‘,1,None,a=1,b=‘2‘,c=3)#*kwargs用来接收关键字传参其余类型都由*args接收*args和**kwargs是python中的可变参数,*args表示任何多个无名参数,他是一个tuple**kwargs表示关键字参数,他是一个dict.并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前,像foo(a=1,b=2,c=3,a,1,None)这样调用的话,会提示语法错误

创建字典def kw_dict(**kwargs):    return kwargsprint(kw_dict(a=1,b=2,c=3)=={‘a‘:1,‘b‘:2,‘c‘:3})dict(a=1,b=2,c=3)print(dict)def extendList(val,list=[]):    list.append(val)    return listlist1 = extendList(10,)print(‘list1=%s‘%list1)#[10,]

list2 = extendList(123,[])#[123]print(‘list2=%s‘%list2)

list3 = extendList(‘a‘)print(‘list3=%s‘%list3)#[10,‘a‘]

def extendList(val,list=[]):    list.append(val)    return listlist1 = extendList(10,)list2 = extendList(123,[])list3 = extendList(‘a‘)

print(‘list1=%s‘%list1) #[10,‘a‘]print(‘list2=%s‘%list2)  #[123]print(‘list3=%s‘%list3) #[10,‘a‘]
时间: 2024-10-19 11:05:46

只有我一个能看懂的乱乱的函数基础知识复习的相关文章

走近比特币:一个故事看懂“区块链”

区块链是比特币的底层技术和基础架构,本质上是一个去中心化的数据库.区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)并生成下一个区块. 狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一 种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本. 以上定义摘自百度百科.很多菜鸟朋友看完这段解释依然满脸懵逼,到底什么是“区块链”? 起因 除非你完全没有接触过信息安全,否则一定听说过比特币和区块链

一个例子看懂socket

一个服务端与多个客户端交互的例子 package j2se.socket; import java.io.*; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; /**  * Created by jingqing.zhou on 2015/6/17.  * 基于tcp协议的socket通信,实现用户登录  * 服务器端  */ public class server {     

一个例子看懂神马是闭包

闭包就是这个玩意儿.怎么用在此不做多讲.就告诉大家闭包长神马样子. <!DOCTYPE html> <html> <head> <title>神马JS闭包</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script> function wenyi(){ var i=0; ret

一个例子看懂异步代码执行效率

异步代码采用线程池,提供代码执行的并行性,不阻塞当前线程,实例代码,模拟三个耗时操作,分别耗时为1000.1500.1800ms,提供同步与异步的实现方式,Main中以同步异步的方式执行,对比执行时间,同步执行方式为各个方法的执行时间总和,而异步执行方式为最长的那个时间.ps:实际执行情况可能有其他的一些微不足道开销,但大体能反应异步的执行效率. class OutHelper { public DateTime Method1() { Thread.Sleep(1000); return Da

一个故事看懂“养卡代还系统”

随着三级分销的商业模式发展以来,越来越受到大家的欢迎,不断有新的商家加入其中.而三级分销的支付系统自开发以来也为企业创造了很多价值,那么三级分销支付系统到底是怎么一回事呢?零零壹的小编给你详细说说吧. 三级分销支付系统是怎样的 三级分销支付系统的功能相同于微信,不过其页面等可以根据企业的自身特性进行设计,还可以增加企业需要用的一些用到的功能,这样的话页面功能相比微信来说比较丰富.三级分销的用户分为一级代理,二级代理,三级代理.用户通过申请一级代理,然后将邀请链接发给用户,当用户下单时他便可获得返

一个例子看懂C语言中的++号的用法

话不多说,直接上代码: #include<stdio.h> int main(){ int suzu [10] ={10,11,12,13},i; int *p=suzu; //打印出所有的数据 for(i=0;i<10;i++) printf("%d\n",suzu[i]); //因为*的优先级高于+号 所以这个括号是必须要的 printf("\n"); //因为这个不是按照指针来读取的,所以我们会从默认第一位开始读取 for(i=0;i<

亲子之间,在于看懂,无关耐心zz

每当有人告诉我:『你对孩子真有耐心!』时,我总会想起我的金项链,当越来越多人说的时候,我就越想找出来,我翻箱倒柜的找,越心急却越找不到,那 一条金项链从我十八岁那一年一直戴在我的脖子上一直到女儿两岁,这期间不管我拥有多少的首饰,我却从没拿下它,最近的我一直想找回这条项链. 我记得我十八岁生日的那一天,住校的我特地从学校回家,满十八岁了,可以考机车驾照了,也可以学开车了,这一个生日对我来说意义非凡,可是那一 天,家中没有人记得我的生日,一直到了用完晚餐,我为了一个很细微的事情生气,乱七八糟的发火,

【Luogu】P2765魔术球问题(没看懂的乱搞)

题目链接 这题……讲道理我没看懂. 不过我看懂题解的代码是在干嘛了qwq 题解是zhaoyifan的题解 然后……我来讲讲这个题解好了. 题解把值为i的球拆成了两个,一个编号是i*2,一个编号是i*2+1. 为什么编号要这么编呢?因为统计编号的时候好统计qwq 然后从起点向i*2连一条边,从i*2+1到终点连一条边. 然后对于能够跟他凑成完全平方数的连边. 然后跑最大流,如果发现这个球不能串进原来的柱子上,也就是说最大流没有变化,那么就新加一条柱子. 当柱子数超过n的时候就退出循环开始统计. 大

一个故事教你看懂什么是数字证书,它的原理是什么?它的作用是什么?

原创地址:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容. 1.1.公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密算法,它的加密解密过程如下: 加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文.加密过程需要用到公钥. 解密:通过解密算法和私钥对密文进行解密,得到明文