范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python基础入门函数的定义与使用

  定义函数函数的定义 函数的分类 函数的创建方法 函数的返回return 函数的定义将一件事情的步骤封装在一起并得到最终结果 函数名代表了这个函数要做的事情 函数体是实现函数功能的流程 函数可以帮助我们重复使用功能,通过函数名我们可以知道函数的作用 函数的分类内置函数:print、id、int、max、min、type....等 自定义函数:def 创建函数 函数的创建方法
  通过关键字def来创建函数,def的作用是实现python中函数的创建
  函数定义过程:
  def 函数名(参数列表):     函数体# coding:utf-8  def say_Hello():     print("Hello Python")函数的调用
  函数名+()小括号执行函数# coding:utf-8  # 定义函数 def say_Hello():     print("Hello Python")  # 执行函数 say_Hello()  # 执行结果:Hello Python函数的返回returnreturn-将函数结果返回的关键字return只能在函数体内使用return支持返回所有的python类型有返回值的函数可以赋值给一个变量return也有退出函数的作用# coding:utf-8  def add(a,b):     c=a+b     return c result=add(1,2) print(result) # 输出结果:3函数的参数必传参数默认参数不确定参数参数规则必传参数函数中定义的参数没有默认值,在调用函数时如果不传入则会报错在定义函数的时候,参数后边没有等号与默认值在定义函数的时候,没有默认值且必须在函数执行的时候传递进去的参数,且顺序与参数的顺序相同,就是必传参数# coding:utf-8  def add(a,b):     c=a+b     return c result=add(1,2) print(result) # 输出结果:3默认参数在定义函数的时候,定义的参数含有默认值,通过赋值语句给他是一个默认值如果默认参数在调用函数的时候传递了新的值,函数将会优先使用后传入的值进行工作# coding:utf-8  def add(a,b=1):     c=a+b     return c  print(add(1)) # 输出结果:2  print(add(1,3)) # 输出结果:4不确定参数-可变参数没有固定的参数名和数量(不知道要传的参数名具体是什么)
  *args代表:将无参数的值合并成元组**kwargs代表:将有参数与默认值的赋值语句合并成字典# coding:utf-8  def test_args(*args,**kwargs):     print(args,type(args))     print(kwargs,type(kwargs)) test_args(1,2,3,4,5,6,name="zhangsan",age=22,top=175) # 输出结果: # (1, 2, 3, 4, 5, 6)  # {"name": "zhangsan", "age": 22, "top": 175} # coding:utf-8  #参数是变量传递时,需要在变量前面加上*和**来区分传递的是元组还是字典,否则一律按元组*args处理 def test_args(*args,**kwargs):     print(args,type(args))     print(kwargs,type(kwargs))  a=("python","java") b={"name":"zhangsan","age":22,"top":175}  test_args(a,b) # 输出结果: # (("python", "java"), {"name": "zhangsan", "age": 22, "top": 175})  # {}   test_args(*a,**b) # 输出结果: # ("python", "java")  # {"name": "zhangsan", "age": 22, "top": 175} 参数规则
  参数的定义从左到右依次是:必传参数、默认参数、可变元组参数、可变字典参数函数的参数传递非常灵活必传参数与默认参数的传参多样化传递的参数与函数定义时的参数顺序不一致时,使用赋值语句的方式传参# coding:utf-8  def test(a,b=1,*args):     print(a,b,args)  s=(1,2) test(1,2,*s)  #1 2 (1, 2)  # test(a=1,b=2,*s) """ Traceback (most recent call last):   File "D:/WorkSpace/Python_Study/test01.py", line 8, in      test(a=1,b=2,*s) TypeError: test() got multiple values for argument "a" """ # 报错原因:当我们必选参数、默认参数与可选的元组类型参数在一起的时候,如果需要采取赋值的形式传参,则在定义函数的时候需要将可变的元组参数放在第一位,之后是必传、默认参数;这是一个特例!!! def test2(*args,a,b=1):     print(a,b,args) test2(a=1,b=2,*s)   #1 2 (1, 2)# coding:utf-8  def test(a,b=1,**kwargs):     print(a,b,kwargs) test(1,2,name="zhangsan")   # 1 2 {"name": "zhangsan"} test(a=1,b=2,name="zhangsan")   # 1 2 {"name": "zhangsan"} test(name="zhangsan",age=33,b=2,a=1)    # 1 2 {"name": "zhangsan", "age": 33}函数的参数类型
  参数类型的定义在python3.7之后可用函数不会对参数类型进行验证,只是看的作用函数的参数类型具体是什么,还得看方法中对参数的操作# coding:utf-8  def test(a:int,b:int=3,*args:int,**kwargs:str):     print(a,b,args,kwargs) test(1,2,3,"4",name="zhangsan")     # 1 2 (3, "4") {"name": "zhangsan"}全局变量与局部变量全局变量局部变量global全局变量
  函数体内对全局变量只能读取,不能修改
  # coding:utf-8  name="张三" age=22 def test():     name="李四"     print(name)     print(age) test()          #李四 22 print(name)     #张三局部变量
  局部变量,无法在函数体外使用
  # coding:utf-8   def test():     name="李四"  print(name)     #报错global将全局变量可以在函数体内进行修改global只支持str,int,float,tuple,bool,None类型。对于list,dict不需要global声明即可应用自带方法在函数体内修改。不建议使用global对全局变量进行修改# coding:utf-8  name="张三" age=22 source={"数学":"100","英语":99,"语文":80} like=["足球","篮球","乒乓球"] drink=("雪碧","可乐") eat={"汉堡","薯条"}  def test():     global name,age      name="zhangsan"     age=18     source["英语"]=60     like[2]="羽毛球"     # drink[0]="百事" 元组不可变,报错     eat.update("鸡翅")  test() print("%s,%s,%s,%s,%s,%s"%(name,age,source,like,drink,eat)) # 输出结果:zhangsan,18,{"数学": "100", "英语": 60, "语文": 80},["足球", "篮球", "羽毛球"],("雪碧", "可乐"),{"薯条", "翅", "汉堡", "鸡"}递归函数递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果,类似while和for循环通过return返回def()自身,即可实现递归效果# coding:utf-8  count=0  def test():     global count     if count<=5:         count +=1         return test()     else:         print("当前计数为:{}".format(count)) test() # 输出结果为:当前计数为:6匿名函数
  python 使用 lambda 来创建匿名函数。
  所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。lambda 只是一个表达式,函数体比 def 简单很多。自带returnlambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。# coding:utf-8  f=lambda x,y:x+y print(f(1,2))     #3  user=[{"name":"zhangsan"},       {"name":"lisi"},       {"name":"wangwu"}]  user.sort(key=lambda x:x["name"]) print(user)       #[{"name": "lisi"}, {"name": "wangwu"}, {"name": "zhangsan"}]

Day。jsv1。11。1发布,轻量级Javascript时间日期库Day。js是一个仅2kb大小的轻量级JavaScript时间日期处理库,目前发布了1。11。1版本,带来如下改动Bug修复重构以替换不推荐使用的String。prototype。iPhoneXSMax再上线,虽有512G256G大内存,但价格妥协了提起iPhone,大家总是有说不完的热情,主要都是向往于iPhone的高流畅度,使用体验很好,是手机界的天花板,大家自然想拥有这样的产品。不过考虑到iPhone确实很贵,所以一般用国产存储芯片发威!内存条价格杀疯了!果链惊现国产3DNAND电子发烧友网报道(文黄晶晶)根据ICInsights统计,2020年全球存储芯片市场规模达1,267亿美元,其中DRAM和NANDFlash市场规模较大,占比分别为53和44,NOAI有望解决城市地震监测的噪音难题最近,科学家开发了一套基于深度学习的计算机算法,能够从城市地震监测的大量噪声信号中辨别出地震事件。这将帮助人们未来在城市中更好地开展地震活动检测。他们的结果发表在SCIENCEAD高通胀压力下劳资大战将至?苹果纽约门店工会组织者寻求30美元最低时薪高通胀环境下,苹果在纽约市地标中央车站的纽约旗舰零售门店还未正式成立工会,就提出了涨工资的诉求。美东时间18日周一,苹果纽约中央车站工会组织者在自称FruitStandWorkerC类型转换适用的时机与场合WhentousewhichcastincUsedynamiccastforconvertingpointersreferenceswithinaninheritancehiera网约车冷下来了?4月订单比1月下滑超2亿单,司机称收入下降不少华夏时报(www。chinatimes。net。cn)记者闫晓寒卢晓北京报道5月12日早上不到八点,家住朝阳区的小李打开打车软件准备叫车,发现app弹出提示应疫情防控工作要求已暂停扫地机市场再出新旗舰,追觅S10Pro加入战团,新一代王炸出山前言2021年底,科沃斯发布X1,它支持扫地拖地自动清洗拖布自动集尘,这四项基本功能,使它成为了2021年的王炸机型。前不久,石头也发布了全功能顶级机型G10S,它除了具备科沃斯X北大发声明抗议外国厂商垄断仪器,国产激光仪器处境尴尬北京大学北京核磁共振中心发布终止与某外国仪器厂商中国区业务往来的声明!可以看出这是一次愤怒忍无可忍的反抗该中心批评该供应商在中国核磁共振谱仪市场一家独大,并且大幅提高售后服务费用和家里宽带从100M升级到200M,需要更换路由器吗?家庭宽带从100M升级到200M,需要用到千兆路由器才可以支持,如果之前不是千兆路由器的话,就需要更换,除路由器外其它如网线以及网卡都需要支持千兆传输才可以,否则宽带升级前后没什么最便宜的天玑8100来了,红米note11T系列,1500就搞定最便宜的天玑8100要多少钱?你可能会说起码要2000,而现在又一款天玑8100的神机要出世了,并且售价很大可能性是1500元。天玑8100性能相当于骁龙888,功耗可以参考骁龙8
SaaS服务的网络化效应内容导读1互联网的本质是交互连接与网络化,企业服务领域逐步形成各种独特维度的网络化效应将是必然。2SaaS服务根据业务粘性,宏观上可分为工具型SaaS与业务型SaaS。3工具型Sa小米11Ultra防尘又防水,日常溅水也不慌手机想必每个人都有一部,那么你有没有经历过手机损坏呢?如果没有,那当然是最好的,如果有,那你以前的手机是怎么损坏的呢?当然损坏的可能有非常多种,但是摔坏和湿水损坏绝对是最多的。毕竟经常商务出行,那么应该选一款什么样的笔记本呢?如今的办公室,几乎每个人都有一台电脑,而需要移动办公的人员,都配上了一台笔记本电脑。那么,对于一个办公人员来说,是什么样的笔记本比较合适呢?这个得从个人的行为习惯说起,因为行为习惯RTX30系显卡如此紧张,是否值得溢价购买?玩游戏,电脑的核心就是显卡,而新一代的显卡往往是性能更加出色,毕竟没有出色的性能谁会为新一代显卡买单呢?正常的情况下,新一代的显卡会比老一代价格贵一点,而且供货都比较充足,但是最近无线充电器充电并不快,为何却非常受欢迎?智能手机几乎每个人都有,而它有一个非常明显的短板,那就是差不多每天要充电。充电的时候,你是用有线充电器,还是无线充电器呢?虽然目前有线充电器是主流,但是无线充电器也是非常受欢迎的。华为智能摄像头可以四路同屏,难道要淘汰老式监控?科技越来越发达,越来越多的设备进入了智能化,不仅冰箱洗衣机空调等设备都能连接手机。当然网络摄像头也不例外,你可以随时连接手机,通过手机查看家中的情况,实现远程看护,那么老式监控器要外星人游戏本和联想R9000K如何选择?在前不久,发布了联想R9000K这款游戏本,性价比非常高。很多人就纳闷了,联想R9000K,性价比这么高,那应该是选择联想R9000K呢?还是说选择外星人游戏本呢?毕竟两款游戏本的扩展内存可以提升电脑性能,那么真的越多越好吗?电脑几乎每个人都有一台,因为电脑不仅可以办公,也可以玩游戏,满足各种使用需求。大家应该听过这么一句话,电脑用久了,只要对它加点运行内存,那么电脑就可以再战几年。那么这句话是真的吗?笔记本硬件达到什么程度,才能满足视频剪辑的需求?在数字时代里,笔记本电脑非常流行,经常出行的人,几乎一人一台。但是选择笔记本不是所有人都会,因为这关系到用途和价格。俗话说,按贵得选没错,但是,不可能每个人都有那么多的预算。选笔记普通健身爱好者为何少买智能手表,而是偏向智能手环?对于经常运动的人来说智能手表和智能手环再熟悉不过了,毕竟这两个设备可以让人实现科学锻炼。那么问题来了,对于一个普通的健身爱好者来说,是智能手表比较实用,还是说智能手环比较合适呢?为摆脱频繁充电,荣耀GSPro智能手表做到了生活中,佩戴智能手表越来越流行,因为不仅可以当装饰物,还能记录自己的各种运动参数,实现一举两得。那么在选择智能手表的时候,需要注意一些什么问题呢?其实,智能设备的初期都有一个通病,