元组(tuple):大体跟列表一样,主要是元组不能增删改,相当于只读。

 

函数:在程序当中,很多重复数据需要操作了,whileif等就不好用了,这是用函数,模块化,容易调用。把整体当做一个函数,叫封装。

ctrl +d选下个,当选中改就能都修改,ctrl+右加上什么就都加上了。

 

设置vimtab键和可视化>>都可移动4个空格方式:

vim /etc/vimrc 在最后添加如下几行

set smartindent

set tabstop=4  

set shiftwidth=4  

set expandtab  

set softtabstop=4

 

定义函数def print_menu():

      ggagfdf

调用函数:print_menu(),多个函数定义后,最后一起调用。

 

函数传参:

wKiom1nQN6ORHcaxAAI1f8dmFO4359.png-wh_50 

 

带有返回值的函数:如果一个函数最后通过return x 返回了一个值,那么x就可以被其他函数调用,如下:

wKioL1nQN4OAtVjjAAGkArv8Yzg855.png-wh_50 

 

当一个函数有多个变量想返回时,不用每个变量都return x,得不到想要的结果,需要用一个变量通过列表或元祖接收,或者直接通过列表返回:

wKioL1nQN6LgCjR8AADsjyoXVeo107.png-wh_50 wKiom1nQOAeielq8AAEmMDhpww0322.png-wh_50

 

breakcontinue结束循环,return结束函数

 

函数的四种类型:有无参数和有无返回值,有参数有返回值,无参数有返回值,有参数无返回值,无参数无返回值。

 

函数的嵌套调用:调用一个函数时该函数又调用了另一个函数,用在类似百度百科中,看一个百科当中有一个不清楚可又看另一个百科,如此下去。。。

wKioL1nQN-CRACaWAACHLSZGeio913.png-wh_50 

 

函数在调用函数时,若需要调用函数的值时,那么该调用函数需要return x,然后本函数再用一个变量来接收然后打印,最后在最后来调用出来:

wKiom1nQOEXQUHARAAGLTUSrCfc908.png-wh_50 

 

实参:实际传的,或者键盘输入的

形参:接收者

 

局部变量:在函数内部定义,内部有作用,在其他函数内无效。

全局变量:在函数外面定义,任何函数都能调用。

 

如果在某函数内定义了一个局部变量a,如果全局变量也有一个a,假如此时在局部变量中通过global a后,那么就是将全局变量的值修改了。

 

全部变量要想被使用必须在调用函数前定义。

 

拥有独立功能的一片代码就可以做成一个函数。

 

函数的说明文档:

help(print):查看print的帮助,自己定义的函数也可以查看帮助,但前提自己定义别的函数要自己定义,一般用一对三单引号’’’cvfgfdgad’’’即可。

 

程序编程时,正规的方法是通过一个个功能模块的函数来操作,最后用main函数对整个程序来控制调用。main函数成为主函数。

 

全局变量在函数里调用时一般可用global来调用,让函数更清晰,当然也可以不用global声明。

 

缺省参数:就是在函数定义时已经让一个变量给了一个值,如:def namea,b=3),但不能(b=3,a),非常a也有默认参数。

命名参数:实参在调用时用b=5的方式。

 

不定长参数:函数只定义了几个变量,若需要更多的变量,此时就可以用不定长参数,例:def fdsafd(a,b,*c),*c就是不定长参数,但名字还是叫c,一般用args,调用该函数时结果是个元组。


当元组当中只有一个值时,后面一定要加一个,例:(3,

当函数定义时有形参,默认参和不定长参混合时,在传递实参时不定长参优先级最低。

**kwargs:当实参传递的多余参数有变量名的,就会以字典的方式放到**kwargs.

wKioL1nQOCfQNq8MAAB9i6YeYrE545.png-wh_50