python之函数(一)
python有很多内置函数,可以直接调用。比如type(), len(), range(),max(), min(), filter().内置函数我们就先不多提,我们主要介绍自定义函数。
1. 函数的定义
函数的定义用def
def 函数名(参数1, 参数2, 参数3,......):
函数体
return 表达式
先来一个简单的函数:
- def greet():
- print("Hello world")
- greet()
这个函数没有参数,接下来记录一下有参数的情况。
2. 函数参数
- # def greet():
- # print("Hello world")
- '''
- 一个参数
- '''
- def sayHello(name):
- print("Hi, "+name)
- '''
- 两个参数
- '''
- def greet(greet, name):
- print(greet + "," + name)
- sayHello("yosef")
- greet("你好", "yosef")
关于函数传递,有两点需要注意:
1. 调用函数传入的参数一定要跟函数定义的参数个数一样,否则会报错
2.传入的参数要和定义函数时的数据类型要一致。
3. 默认参数
如果我们在编写函数时,给函数形参一个默认值。在调用函数时,如果不传参,就使用默认的值;传了参数,就使用传的参数。
- #!/usr/bin/python3
- # -*- coding: utf-8 -*-
- # @Time :2018/11/27 13:32
- # @Author :yosef
- # @Email :wurz529@foxmail.com
- # @File: :class14.py
- # @Software :PyCharm Community Edition
- def sayHello(name="visitor"):
- print("hello "+name)
- sayHello()
- sayHello("Yosef")
接下来是几个例子:
- #!/usr/bin/python3
- # -*- coding: utf-8 -*-
- # @Time :2018/11/27 13:32
- # @Author :yosef
- # @Email :wurz529@foxmail.com
- # @File: :class14.py
- # @Software :PyCharm Community Edition
- # def sayHello(name="visitor"):
- # print("hello "+name)
- #
- #
- # sayHello()
- # sayHello("Yosef")
- """
- 编写print_info()函数,打印一个句子,指出这一节学了什么,调用这个函数,确认打印显示的消息正确无误。
- """
- def print_info():
- print("我学习了函数!")
- print_info()
- """
- 编写favourite_book();
- """
- def favourite_book(bookname = "Linux从删库到跑路"):
- print("我最喜欢的书是:"+bookname)
- favourite_book("Python从入门到放弃")
- favourite_book()
4. 位置参数与默认参数
第三节说的是只有一个参数,如果有多个参数该怎么做呢?
假设一个函数叫sum(a, b=3,c=5),如果调用的时候sum(1);sum(1,2),sum(1,2,3)有什么效果呢
- def sum(a,b=3,c=5):
- print(a+b+c)
- sum(1) # a=1 b=3 c=5
- sum(1,2) # a=1 b=2 c=5
- sum(1,2,3) # a=1 b=2 c=3
当只传一个参数的时候,默认给第一个参数赋值。传2个就给前2个参数赋值,传N个就给前N个参数赋值。
如果我想给第二个以及第五个值传参,其他默认,该怎么搞呢?
假设abcde五个参数,abcde的默认值为1;可以sum(b=2,e=3)即可,直接声明参数以及值。
- def sum(a=1,b=1,c=1,d=1,e=1):
- print(a+b+c+d+e)
- sum(b=2,e=5)
练习:
- #!/usr/bin/python3
- # -*- coding: utf-8 -*-
- # @Time :2018/11/27 13:59
- # @Author :yosef
- # @Email :wurz529@foxmail.com
- # @File: :class16.py
- # @Software :PyCharm Community Edition
- def make_shirt(size, words):
- print("T恤的size是%s,字样是'%s'" %(size,words))
- make_shirt("xl","帅")
- def describle_city(city="shanghai",country="China"):
- print("%s is in %s" %(city,country))
- describle_city()
- describle_city("nanjing")
- describle_city("beijing")
- describle_city("北海道","日本")
python之函数(一)的更多相关文章
- python的函数
函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...
- python strip()函数 介绍
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除 ...
- python split()函数
Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...
- Python数学函数
1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- Python之函数与变量
本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...
- Python基础-函数篇
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数与函数式编程 1.面向对象: 华山派-- ...
- 【C++实现python字符串函数库】strip、lstrip、rstrip方法
[C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...
- 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- 【C++实现python字符串函数库】一:分割函数:split、rsplit
[C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...
随机推荐
- 扩展卡尔曼滤波EKF与多传感器融合
参考:https://blog.csdn.net/young_gy/article/details/78468153 Extended Kalman Filter(扩展卡尔曼滤波)是卡尔曼滤波的非线性 ...
- spring aop自动代理注解配置之一
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- PCL struct“flann::SearchParams参数错误
最近在使用PCL的KdTreeFLANN的时候报错:error C2079: “pcl::KdTreeFLANN<PointT>::param_radius_”使用未定义的 struct“ ...
- Web服务器父与子 Apache和Tomcat区别(转)
From http://developer.51cto.com/art/201007/210894.htm 熟悉三国的朋友都知道曹操,曹操有二十五个儿子,其中最得曹操宠爱的是曹丕.曹植.曹彰三个,曹丕 ...
- python之yield函数
yield的英文单词意思是生产,刚接触Python的时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist( ...
- Vue.js如何搭建本地dev server和json-server 模拟请求服务器
前言:vue-cli(版本更新),由原来的2.8.1升级为2.9.1.主要改变是原来在build文件夹下的dev-server.js删掉了,增加了webpack.dev.conf.js. 所以这次讲的 ...
- SpringMVC——文件的上传
一.加入依赖 commons-io-2.0.jar commons-fileupload-1.2.1.jar 二.接口MultipartResolver Spring MVC 为文件上传提供了直接的支 ...
- 策略与计费控制规则(Policy and Charging Control Rule-PCC Rule)解析及模板样例
内容 PCC规则定义 PCC规则运行 PCC规则模板 PCC规则定义 参考文档: 3gpp ts 23.203-be0 条款6.3 策略与计费控制规则(PCC Rule),即一系列相关信息与一系列相关 ...
- [原创]Java源代码学习
一.一些关键字 方法声明中的native:调用本地方法,该方法一般是用C或者C++写的 变量声明中的transient:在序列化过程中会忽略该变量,即不进行序列化保存 变量声明中的volatile:编 ...
- Android下拉选择框之PopupWindow
1.效果图 2.思路分析 1.点击弹出对话框 popupwindow 2.对popupwindow进行相关设置,popupwindow中设置view为listview 3.listview中item设 ...