Python笔记(五)
2024-09-07 11:03:51
# -*- coding:utf-8 -*- # 函数 # python中定义函数的规则如下:以def开头,接函数名称和(),传入的参数和变量放在圆括号中间,函数以:起始,并且缩进,return选择性的返回一个值给调用方,不带返回值的return相当于返回NONE print "********************1***********************" def printsmt(str): print str return printsmt(") # 前面说过可变对象和不可变对象,所以在参数传递时,对于不可变类型,传递的值,而对于参数本身没有影响,所以函数内部的更改不会对其产生影响;但是对于可变类型,则是将参数真正的传递过去,更改后外部的值也会收到影响 # 传递不可变对象 print "********************2***********************" def changeStr(a): a=" print "Method:",a b=" changeStr(b) # 输出Method:543s21 print b # 输出12345 # 传递可变对象 print "********************3***********************" def changeList(list): list.append(["mango"]); print "Method:",list fruits=['apple','orange','bananas'] changeList(fruits) print fruits # 参数:必备参数、关键字参数、默认参数、不定长参数 # 必备参数:必须以正确的顺序传入,调用数量和声明一致 print "********************4***********************" try: changeStr() #这里会直接返回错误 takes exactly 1 argument. except Exception as err: print(err); # 关键字参数:和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值,如: print "********************5***********************" def printKey(name,age): print name,age printKey("zhangsan",18) # 按传入输出 printKey(age=19,name='lisi') # 即便输入的顺序不对,但通过调用键字输入,解释器一样可以匹配。 # 缺省参数 缺省参数的值如果没有传就会被认为默认值。 print "********************6***********************" def printDefault(name,age=35): print name,age printDefault(age=50,name="lisi") #输出 lisi 50 printDefault("zhangsan") # 输出 zhangsan 35 # 不定长参数 有时候传入参数的长度不确定,这时候就会定义不定长参数,如: print "********************7***********************" def printarg(arg1,*args): print arg1 for arg in args: print arg printarg(1) printarg(1,2,3,4,5) # 匿名函数 使用lambda来创建匿名函数,lambda只是一个表达式,函数体比def简单的多 print "********************8***********************" sum=lambda arg1,arg2:arg1+arg2 print sum(10,20) # 全局变量和局部变量,变量存在作用域,定义在函数内部的变量有一个局部作用域,只能在函数内部生效,定义在函数外部的拥有全局作用域。
最新文章
- ssh配置git clone简易流程
- mvc5+ef6+Bootstrap 项目心得--WebGrid
- Oracle中可以nologging执行的操作
- 【AngularJS】—— 1 初识AngularJs
- java 读取文件路径空格和中文的处理
- vsftp 一键安装包
- AWS 之 S3篇<;.NET(c#)批量上传文件>;
- JAVA 修改 JSESSIONID
- SDL实现按钮
- HTML5区域范围文本框实例页面
- Python单元测试:unittest使用简介
- Asp.net vNext 2
- centos gdb安装
- Web颜色对照表大全
- Linux命令学习总结:ls
- fuchsia 内核
- POJ2391 Ombrophobic Bovines
- OpenNI1.5获取华硕XtionProLive深度图和彩色图并用OpenCV显示
- ROS教程5 使用串口
- MySQL(八)子查询和分组查询
热门文章
- [hihocoder][Offer收割]编程练习赛45
- 使用DbVisualizer变量
- Charles设置抓取https请求
- java网络编程之socket(1)
- LINQ(Language Integrated Query)
- hust 1570 Lazy. Lazy. Laaaaaaaaaaaazy!
- Chernobyl’ Eagle on a Roof(鹰蛋坚固度)
- HDU 5279 YJC plays Minecraft (分治NTT优化DP)
- 使用Ansible安装部署nginx+php+mysql之安装mysql(3)
- Elasticsearch 入门 - Exploring Your Cluster