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

python 基础5 初级函数

时间:2017-10-31 20:12:12      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:return   注意   语句   序列   功能   素数   报错   one   基础   

函数最重要的目的是方便我们重复使用相同的一段程序。将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。

def my_len():           def   关键字
    li=[1,2,3,4,5,6]
    count = 0
    for i in li:
        count+=1
    return count      return 关键字
set=my_len()        函数的调用以及返回值的接收
print(set)

写函数时最好不要在函数中打印,要尽量以功能为导向。

返回值:

一 没有返回值的情况:

1.不写return===return None

2.仅仅写一个return,后边不跟东西 ==return None

二 有返回值的情况:

return 的作用:1。返回一个或多个值

       2. 终止一个函数的继续。

def my_len():
    print(1)
    print(2)
    return
    print(33)
print(44)
print(my_len())

结果:

44               ###为什么会先打印出44,因为程序第一步先运行到def这行,接着运行print(44)这行,而不是运行print(1),因为函数还没有调用。
1
2
None

 

1.返回一个值:什么数据类型都可以返回,返回什么就接收什么。

2.返回多个值:

如果用一个变量接收返回值,它会返回一个元祖,为什么会返回 一个元组,这里用到了python解析包的概念。python有一种一次给多个变量赋值的方法称为序列解包。

范例1

>>> 1,3           输入
(1, 3)               结果
>>> 2,3,6        输入
(2, 3, 6)            结果
x,y,z=1,2,3
print(x,y,z)           两个变量之间调换
x,y=y,x
print(x,y,z)

它允许函数返回一个以上的值并且打包成元组,然后通过一个赋值语句很容易进行访问。所解包的序列中的元素数量必须和放置在赋值符号(=)左边的变量数量完全一致,否则Python会在赋值时引发异常,

范例2:

def my_len():
    return 2, 3,4
set1,set2,set3=my_len()
print(set1,set2 set3)

结果:

(2, 3)

返回值用多个变量接收,那么返回值的个数应该和接收值的个数一样,否则会报错。

范例一:

def my_len():
    return 2, 3,4
set1,set2,set3=my_len()
print(set1,set2 ,set3)

结果:

2 3 4

参数:

 

def func(lst):             接收参数叫形参
    count=0
    for i in lst:
        count+=1
    return count
l=[1,2,34,5,] 
print(func(l))           传入参数叫实参

 

传函数可以传任意数据类型,并且传什么接收什么。

站在传参数的角度上,一共有两种传参数的方式。

第一种:按照位置传参数。

第二种:按照关键字传参数。

这两种方式可以混用,但是注意位置参数不可以放在关键字参数之后。。一个位置只能接受一个参数,不允许接收多个参数。

默认参数:python为了简化函数的调用,提供了默认参数机制。

注意:1.默认参数必须放在必选参数之后,否则python会报错。

   2.默认参数必须指向的是不变的对象

范例

def classmate(name,sex=""):
    print("姓名:%s,性别:%s"%(name,sex))
    return
classmate("小红")
classmate("小花")
classmate("小蓝","")

结果:

姓名:小红,性别:男
姓名:小花,性别:男
姓名:小蓝,性别:女

默认参数的坑:

 范例:

def add_end(L=[]):
    L.append(we)
    return L
print(add_end())
print(add_end())
print(add_end([1]))
print(add_end())

结果
[we] [we, we] [1, ‘we‘] [we, we, we, we]

纳尼,为什么不一直是[‘we‘].

     

   

 

python 基础5 初级函数

标签:return   注意   语句   序列   功能   素数   报错   one   基础   

原文地址:http://www.cnblogs.com/sticker0726/p/7762954.html

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