Python 自学笔记(七)

1.定义函数和调用函数

    1-1.定义函数

     定义函数的语法书写:def 函数名(参数名)(注:括号内可以为空,也可以为多个参数,多个参数间用逗号隔开即可)

      

 

 

     由上可以看出,函数默认返回None

2.函数的重要概念

  2-1.默认参数

  默认参数必须放在位置参数之后。若调用函数时没有传递参数就为默认值,但是如果调用时向默认参数传递了数据,测默认参数被新参数代替。

  

 

 

   2-2、不定长参数

    一个星号*加上参数名。当传入此处的参数数量不确定时使用。数据类型为元祖(元祖(tuple)):写法是把数据放在小括号()中,它的用法和列表用法类似,主要区别              在于列表中的元素可以随时的修改,但元组中的元素不可更改。列表一样,元组是可迭代的对象,这意味着我们可以用for循环来遍历它。

  当默认参数在不定长参数后面的时候,若想更改默认参数,需要注明参数=‘参数’,例如

  

 

 

   注意:当有参数在不定长参数后面,且没有默认值的时候,在调用函数的时候一定要写成 参数=‘具体数据’,的形式,不然报错。例如

  

 

 

   2-3、return语句

    其实长度计算语句len()也是个内置函数,他的格式大概如下:    

    def len('内容'):
      (计算'内容'长度)
      return 长度值
    a='内容'
    print(len(a))
    

3、变量作用域

  3-1、局部变量

   在函数内定义的变量,仅能在函数内部使用(局部作用域)

  

  变量a只能在函数内部使用

  3-2、全局变量

  所有函数之外复制的变量,可以再程序的任何位置使用(全局作用域)

  

   3-3、global语句

  可以将局部变量转换为全局变量,一般写在函数体的第一行

  

 

  注意:局部变量和全局变量尽量不要重名,系统会混淆,从而报错。

4扩展

  4-1、list()函数

  可以将数据转换成列表

  

 

   4-2、reversed()函数  

  reversed()函数可以将数据反转,从后往前迭代。

  reversed()之后,第二次for循环、list()、tuple()以及join()得到的结果都为空,原因就是b不是反转列表本身,而是一个列表反向迭代器,所以直接输出函数返回值会是类似于乱           码,且reversed()之后,只在第一次遍历时返回值。

  

posted @ 2019-09-24 20:31  半瓶假酒  阅读(179)  评论(1编辑  收藏  举报