美文网首页程序员
Python基础总结(四)(函数)

Python基础总结(四)(函数)

作者: TryEnough | 来源:发表于2016-11-03 11:31 被阅读159次

    All endings are beginnings, we just don't know it at the time.


    函数的参数传递

    可以使用位置参数或关键字参数传递给函数,但是位置参数不能出现在任何关键字参数的后面,例如

    def f(p1, p2, p3)

    调用的时候可以使用位置参数:f(1,2,3)

    也可以使用关键字参数:f(p1=1, p2=2,p3=3),此时参数位置可以变化。

    但是使用f(1,p2=2,3)是错误的,因为位置参数3出现在关键字参数p2的后面。

    通过引用传递参数

    当传递数字和字符串等不可变参数给函数时,函数内部形参改变了,但是实参却不变,真正原因是数字和字符串是不可变对象,不可变对象的内容是不能被改变的,当改变的时候Python会为这个新的值创建一个新的对象。但是如果传递一个可变的参数(例如对象)给函数,如果函数中将对象的某个参数改变了,那么实参的这个属性值也就跟着变了。如:

    >>> a=3

    >>> id(a)

    4300223496

    >>> a+=1

    >>> id(a)

    4300223472

    ⚠️在同一个模块中定义两个同名函数,不会出现语法错误,但后者的优先级更高

    可以使用global语句将变量设置成全局变量。

    函数可以混合使用默认值参数和非默认值参数,这种情况下,默认值参数必须在非默认值参数的后面定义。如:

    def printArea(width , height = 1.0)

    Python函数可以同时返回多个值。当调用的时候,需要同时赋值传递这些返回值,如下:

    def sort(num1, num2):

        return num1, num2

    n1, n2 = sort(3, 2)

    随机生成0到127之间的ASCII码:chr(randind(0, 127))

    随机生成小写字母a到z之间的字母:chr(randint(ord('a'), ord('z')))

    开发时,多使用自顶向下的设计和自底向上的实现,可以先将整体的框架搭建好,然后经过调试再逐步实现的方式积累解决问题的经验。

    相关文章

      网友评论

        本文标题:Python基础总结(四)(函数)

        本文链接:https://www.haomeiwen.com/subject/mfmbuttx.html