美文网首页
2018-11-26

2018-11-26

作者: Karl_2c80 | 来源:发表于2018-11-26 21:56 被阅读0次

函数定义

  • 函数:完成特定功能的一个语句组

  • 通过函数名在程序不同地方多次执行,称为函数的调用

  • 函数分为:预定义函数和自定义函数

  • 为何使用函数?

  1. 降低编程难度
  2. 代码重用
  • 使用def 关键字来定义函数

def 函数名([参数列表])

  • 变量:全小写
  • 函数名:从第二个单词开始首字母大写
  • 类名:每个单词首字母大写
In [1]: def fun ():
   ...:     print "hello"
   ...:

In [2]: fun()
hello
#!/usr/bin/python
# -*- coding:utf-8 -*-

def fun():
    sth = raw_input("Please input something: ")
    try:
        if type(int(sth)) == type(1):
            print "%s is number" %sth
    except:
        print "%s is not number" %sth

fun()   #调用

函数的参数

  1. 形参,定义函数时
  2. 实参,调用函数时
In [1]: def cmp(x, y):
   ...:     if x >= y:
   ...:         print x
   ...:     else:
   ...:         print y
   ...:

In [2]: cmp()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-2000d34a547a> in <module>()
----> 1 cmp()

TypeError: cmp() takes exactly 2 arguments (0 given)

In [3]: cmp(2, 4)
4

In [4]: cmp(4)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-07287826b1cb> in <module>()
----> 1 cmp(4)

TypeError: cmp() takes exactly 2 arguments (1 given)
#!/usr/bin/python
# -*- coding:utf-8 -*-

import sys

# print sys.argv                # 输出一个包含脚本名和所有参数的列表
# print sys.argv[1]     # 脚本的第一个参数

## 判断函数的第一个参数是否为纯数字

def isNum(s):
    for i in s:
        if i in '0123456789':
            pass
        else:
            print "%s is not a number" %s
            sys.exit()
    else:
        print "%s is a number" %s

isNum(sys.argv[1])
[root@KARL ~]# python y8.py 123
123 is a number
[root@KARL ~]# python y8.py asd123
asd123 is not a number
#!/usr/bin/python
# -*- coding:utf-8 -*-

## 打印/proc目录下的所有pid

import sys
import os

# print sys.argv                # 输出一个包含脚本名和所有参数的列表
# print sys.argv[1]            # 脚本的第一个参数

def isNum(s):
    for i in s:
        if i in '0123456789':
            pass
        else:
            # print "%s is not a number" %s
            break
    else:
        print "%s is a number" %s

isNum(sys.argv[1])

for i in os.listdir('/proc'):
    isNum(i)

函数的默认参数

In [8]: def sum(x , y=100)
  File "<ipython-input-8-1144897e8d1a>", line 1
    def sum(x , y=100)
                      ^
SyntaxError: invalid syntax


In [9]: def sum(x , y=100):
   ...:     print x + y
   ...:

In [10]: sum(2, 5)
7

In [11]: sum(30)
130

相关文章

网友评论

      本文标题:2018-11-26

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