专栏首页python3Python中函数定义及参数实例

Python中函数定义及参数实例

1.函数定义

    函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字 ,可以通过函数名在程序的不同地方多次执行(这通常叫函数调用)

  • 预定义函数(可以直接使用)
  • 自定义函数(自己编写)

为什么使用函数?

    降低编程难度,通常将一个复杂的大问题分解成一系列的小问题,然后将小问题划分成更小的问题,当问题细化为足够简单时,我们就可以分而治之,各个小问题解决了,大问题就迎刃而解了。

    代码重用,避免重复劳作,提高效率。

函数的定义和调用

    def 函数名([参数列表])    //定义

    函数名 ([参数列表])     //调用

举例:

    函数定义:

def fun():

  print("hello world")

    函数调用:

    fun()

    hello world

脚本举例:

    #/usr/bin/env python

    # -*- coding:utf-8 -*-

    # @time   :2018/1/2 19:49

    # @Author :FengXiaoqing

    # @file   :int.py

    def fun():

        sth = raw_input("Please input sth: ")

    try: #捕获异常

        if type(int(sth))==type(1):

            print("%s is a number") % sth

    except:

        print("%s is not number") % sth

fun()

2.函数的参数

形式参数和实际参数

在定义函数时,函数名后面,括号中的变量名称叫做形式参数,或者称为"形参"

在调用函数时,函数名后面,括号中的变量名称叫做实际参数,或者称为"实参"

    def fun(x,y):  //形参

    print x + y

    fun(1,2)     //实参

    3

    fun('a','b')

    ab

3.函数的默认参数

练习:

    打印系统的所有PID

    要求从/proc读取

os.listdir()方法

    #/usr/bin/env python

    # -*- coding:utf-8 -*-

    # @time   :2018/1/2 21:06

    # @Author :FengXiaoqing

    # @file   :printPID.py

    import sys

    import os

    def isNum(s):

        for i in s:

            if i not  in '0123456789':

                break    #如果不是数字就跳出本次循环

            else:   #如果for中i是数字才执行打印

                print  s

    for j in os.listdir("/proc"):

        isNum(j)

函数默认参数:

    缺省参数(默认参数)

        def fun(x,y=100)    

            print x,y

        fun(1,2)

        fun(1)

定义:

        def fun(x=2,y=3):

            print x+y

调用

        fun()

        5

        fun(23)

        26

        fun(11,22)

        33

习题

1. 设计一个函数,统计任意一串字符串中数字字符的个数

例如:

"adfdfjv1jl;2jlk1j2" 数字个数为4个

2. 设计函数,统计任意一串字符串中每个字母的个数,不区分大小写

例如:

"aaabbbcccaae111"

a 5个

b 3个

c 3个

e 1个

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Activiti 开发案例之流程任务指派、转办以及委派

    委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中。

    小柒2012
  • 性能工具之Jmeter JDBC Request学习

    高楼Zee
  • Java线程的基本使用

    在Java中使用多线程,本质上还是对Thread对象的操作。线程池只是为了方便对线程的管理,避免频繁的创建和销毁线程带来不必要的系统开销,内部通过指定的线程数和...

    spilledyear
  • VS Code中无法识别npm命令

    今天在VS Code中执行npm install命令时报了“'npm' 不是内部或外部命令,也不是可运行的程序或批处理文件”的错误。

    跟着阿笨一起玩NET
  • 性能工具之Jmeter关联小白学习

    简单的说:每次请求服务器,服务器会给客户端发送一个动态值,但服务器会每次校验客户端是否携带该值并做对比,如果每次请求携带值与发送的值是正确就放行,如...

    高楼Zee
  • 性能工具之Jmeter脚本python启动

    使用python执行Jmeter脚本需要与Jmeter脚本有约定,这样才能通过python脚本去执行咱们的Jmeter测试脚本。

    高楼Zee
  • 函数式编程 -> Lambda

      函数式编程,同面向对象编程、指令式编程一样,是一种软件编程范式,在多种编程语言中都有应用。百科词条中有很学术化的解释,但理解起来并不容易。不过,我们可以借助...

    用户1615728
  • OpenCV图像处理专栏七 | 《Contrast image correction method》 论文阅读及代码实现

    这是OpenCV图像处理专栏的第七篇文章,这篇文章是在之前的推文 OpenCV图像处理专栏二 |《Local Color Correction 》论文阅读及C+...

    BBuf
  • 简单使用了下scrapy爬虫工具

    前天一番写了《用爬虫看看我们工作的”前途“》,里面收集了52job上在深圳的”前端“和”区块链“两个关键字的职位信息。

    efonfighting
  • 慌了,居然被问到怎么做高并发系统的限流

    在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。

    zhisheng

扫码关注云+社区

领取腾讯云代金券