Python-函数的参数

函数的参数分为形式参数和实际参数

  形式参数:
    - 在定义函数时,函数名后面括号中的变量名称叫做形式参数,或者成为形参。
  实际参数:
    - 在调用函数时,函数名后面括号中的变量名称叫做实际参数,或者成为实参。
 

命名规则

  - 两个单词的话,第二个单词大写,看起来比较清楚。
 
 

扩展模块

sys模块.argv方法来获取命令行传入的参数
  - sys.argv[0]等同于shell中的$0,表示脚本的名称
  - sys.argv 等同于shell中的$#,把所有参数以空格分隔,组成列表进行传递
 
 
 

练习1:判断脚本的第一个参数是否为数字,不是则退出

#!/usr/bin/env python
 
import sys
 
def isNum(num):
  for i in num:
    if i not in '1234567890':
      print '%s is not a number' % num
      sys.exit() --->这里写break也是可以的
    else:
      print "%s is a number" % num
isNum(sys.argv[1])
 

练习2:打印系统的所有PID,从/proc中读取

#!/usr/bin/env python
 
import os
list1 = os.listdir('/proc')
 
def isPid(l1):
  for i in l1:
    try:
      if type(int(i)) == int:
      print i
    except:
      continue
isPid(list1)
改进:
#!/usr/bin/env python
 
import os
 
def isPid(l1):
  for i in l1:
    if i.isdigit():
      print i
    else:
      continue
list1 = os.listdir('/proc')
isPid(list1)

函数的默认参数

  def fun(a,b=100)
  这样的话,调用函数时,如果不传递b的值,那么b默认就是100。
传参的方式也有很多种:
  - fun(1,2)这样会自动匹配a=1,b=2
  - fun(1) 这样会自动匹配a=1
如果想指定传递的参数,那么就需要手动的取指定了,并且变量名要形参保持一致
  - fun(,2) 这样给b赋值是不行的
  - fun(b=2) 这样是可以的,变量名必须是定义的形参!
默认的参数只能在形参的最后一个(或者都定义,或者从右到左定义)
posted @ 2016-11-21 19:06  SpeicalLife  阅读(246)  评论(0)    收藏  举报