1、向函数传递信息

 def greet_user(username):
print('Hello,' + username.title() + '!')
greet_user('jesse')

2、位置实参

 def greet_user(animal_type,pet_name):
print('\nI have a' + animal_type + '.')
print('My' + animal_type + 'name is' + pet_name.title() + '.')
greet_user('hamster','harry')

调用函数多次,可以根据调用的函数任意次

def greet_user(animal_type,pet_name):
print('\nI have a' + animal_type + '.')
print('My' + animal_type + 'name is' + pet_name.title() + '.')
greet_user('hamster','harry')
greet_user('dog','wille')

3、关键字实参

关键字实参是传递给函数的名称--值对。因些向函数传递实参时不会混淆。关键字实参让你无需考虑函数调用中的实参顺序。

def greet_user(animal_type,pet_name):
print('\nI have a' + animal_type + '.')
print('My' + animal_type + 'name is' + pet_name.title() + '.')
greet_user(animal_type='hamster',pet_name='harry')
greet_user(pet_name='harry',animal_type='hamster')

注意:使用关键字实参时,务必准确地指定函数定义中的形参名。

4、返回值

函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。在函数中,可使用return语句将值返回到调用函数的代码行。返回值让你能够将程序的大部分繁重工作移到函数中去完成,从而简化主程序。

4.1 返回简单值

def get_formatted(first_name,last_name):
full_name=first_name + ' ' + last_name
return full_name.title()
musician =get_formatted('jimi','hendrix')
print(musician)

4.2 让实参变的可选

def get_formatted(first_name,last_name,midddle_name=''):
if midddle_name:
full_name=first_name + ' '+ midddle_name + ' ' + last_name
else:
full_name=first_name + ' ' + last_name
return full_name
musician=get_formatted('jimi','hendirx')
print(musician)
# musician=get_formatted('john','hooker','lee')
# print(musician)

4.3 返回字典

def build_person(first_name,last_name):
person={'first':first_name,'last':last_name}
return person
musician=build_person('jimi','hendrix')
print(musician)

可选形参:

def build_person(first_name,last_name,age=''):
person={'first':first_name,'last':last_name}
if age:
person['age']=age
return person
musician=build_person('jimi','hendrix',age=27)
print(musician)

5、结合使用函数和while循环

def get_formatted(first_name,last_name):
full_name=first_name+ ' ' + last_name
return full_name.title()
while True:
print('\n pls tell me your name:')
print("(enter 'q' at any time to quit)")
f_name=input('First name:')
if f_name=='q':
break
l_name=input('Last name:')
if l_name=='q':
break
formatted=get_formatted(f_name,l_name)
print('\nHello,' + formatted + '!')

6、传递列表

 usernames=['hannah','ty','margot']
def greet_users(username):
for name in username:
msg='Hello,' + name.title()
print(msg)
greet_users(usernames)

python函数介绍的更多相关文章

  1. Python开发【第三章】:Python函数介绍

    一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...

  2. Python 函数介绍

    函数的作用 1.减少重复代码 2.方便修改,更易扩展 3.保持代码一致性 函数的命名规则: 1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号. 2.函数名 ...

  3. 3 Python 函数介绍

    1.函数的基本概念 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义 def ...

  4. Python函数(1)

    一.Python函数介绍 函数时组织好的,可重复的,用来实现单一,或相关联功能的代码段. 函数的使用原则时先定义,后调用:事先准备工具的过程即函数的定义,遇到应用场景拿来当工具用即函数的调用. 函数的 ...

  5. python strip()函数 介绍

    python strip()函数 介绍,需要的朋友可以参考一下   函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除 ...

  6. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  7. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  8. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  9. python 函数参数介绍

    python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...

随机推荐

  1. Toast 用于一个页面有多个提示

    private Toast mToast; 2 初始化 mToast = Toast.makeText(this,"",Toast.LENGTH_SHORT); 3 方法 priv ...

  2. datatable 的ajax修改参数,post可以传参处理

          datatables常用参数记录 {                "searchable": false,                "orderabl ...

  3. <摘录>PS和TS流的区别

    在 MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送 流(TS:TransportStream).据传输 ...

  4. 【转】Android开发学习笔记:5大布局方式详解

    Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...

  5. cgroup的测试数据

    [root@xxxx /cgroup/memory/rule3021]#cat memory.limit_in_bytes503316480   480M [root@xxxx /cgroup/mem ...

  6. Android应用程序版本号管理(官方文档中文版)

    在应用程序的 升级/维护 策略中, 版本是一个关键的组成部分. 用户需要了解在他们的设备上所安装的应用程序的版本的特定信息, 以及已安装程序的升级版本可用的情况. 其他应用程序 - 作为同一个套件中发 ...

  7. XtraGrid的若干种用法 z

    支持多种类型的数据集合作为数据源 XtraGrid与传统的DataGridView一样,支持多种类型作为其数据源.下面例子是将DataTable, List<T>和数组分别绑定到XtraG ...

  8. Mahout踩坑之路

    一.版本对比 公司版Mahout 由于Mahout只能允许于hadoop0.20以上版本上,而百度的hadoop是hadoop0.19的一个分支.因此百度HPC组曾经将Mahout移植到百度的hado ...

  9. 动态执行linq 语句 NLinq

    using Evaluant.NLinq.Memory;using System.Collections.Generic;using Evaluant.NLinq;using System.Colle ...

  10. 【九度OJ】题目1096-二分查找

    题目1069:查找学生信息 这篇文章中提到的问题主要是由于调试平台Visual Studio和测试平台Online Judge的一些小差异,造成在Visual Studio中调试通过的代码,在输入OJ ...