码迷,mamicode.com
首页 > 编程语言 > 详细

Python笔记(五)

时间:2018-03-09 15:06:55      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:turn   不可   没有   必须   bsp   tde   解释   产生   pre   

 1 # -*- coding:utf-8 -*-
 2 
 3 # 函数
 4     # python中定义函数的规则如下:以def开头,接函数名称和(),传入的参数和变量放在圆括号中间,函数以:起始,并且缩进,return选择性的返回一个值给调用方,不带返回值的return相当于返回NONE
 5 print "********************1***********************"
 6 def printsmt(str):
 7     print str
 8     return
 9 
10 printsmt("1234567")
11 
12     # 前面说过可变对象和不可变对象,所以在参数传递时,对于不可变类型,传递的值,而对于参数本身没有影响,所以函数内部的更改不会对其产生影响;但是对于可变类型,则是将参数真正的传递过去,更改后外部的值也会收到影响
13 
14     # 传递不可变对象
15 print "********************2***********************"
16 def changeStr(a):
17     a="54321"
18     print "Method:",a
19 
20 b="12345"
21 changeStr(b)  # 输出Method:543s21
22 print b # 输出12345
23 
24     # 传递可变对象
25 print "********************3***********************"  
26 def changeList(list):
27     list.append(["mango"]);
28     print "Method:",list
29 fruits=[apple,orange,bananas]
30 changeList(fruits)
31 print fruits
32 
33     # 参数:必备参数、关键字参数、默认参数、不定长参数
34 
35         # 必备参数:必须以正确的顺序传入,调用数量和声明一致
36 print "********************4***********************"  
37 try:
38     changeStr() #这里会直接返回错误 takes exactly 1 argument.
39 except Exception as err:
40     print(err);
41 
42         # 关键字参数:和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值,如:
43 print "********************5***********************" 
44 def  printKey(name,age):
45     print name,age
46 
47 printKey("zhangsan",18)   # 按传入输出
48 printKey(age=19,name=lisi) # 即便输入的顺序不对,但通过调用键字输入,解释器一样可以匹配。
49 
50         # 缺省参数 缺省参数的值如果没有传就会被认为默认值。
51 print "********************6***********************" 
52 def printDefault(name,age=35):
53     print name,age
54 
55 printDefault(age=50,name="lisi") #输出 lisi 50
56 printDefault("zhangsan") # 输出 zhangsan 35
57 
58         # 不定长参数 有时候传入参数的长度不确定,这时候就会定义不定长参数,如:
59 print "********************7***********************" 
60 def printarg(arg1,*args):
61     print arg1
62     for arg in args:
63         print arg
64 
65 printarg(1)
66 printarg(1,2,3,4,5)
67 
68         # 匿名函数 使用lambda来创建匿名函数,lambda只是一个表达式,函数体比def简单的多
69 print "********************8***********************" 
70 sum=lambda arg1,arg2:arg1+arg2
71 print sum(10,20)
72 
73         # 全局变量和局部变量,变量存在作用域,定义在函数内部的变量有一个局部作用域,只能在函数内部生效,定义在函数外部的拥有全局作用域。

 

Python笔记(五)

标签:turn   不可   没有   必须   bsp   tde   解释   产生   pre   

原文地址:https://www.cnblogs.com/krockey/p/8533889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!