定义函数

1 def greet_user(username):#定义一个名为greet_user的函数,username时个形参
2 print("Hello!" + username)
3 #根据
4 greet_user('jesse')#调用函数,'jesse'是格实参

传递实参

位置实参

1 def greet_user(username,day):
2 print("Hello!" + username + " " + str(day))
3
4 greet_user('jesse',18)#如果'jesse'同18调换位置那么,用户姓名将会打印为18

关键字实参

直接指出某实参同某形参相对应

用法:  greet_user(username = 'jesse', day = 18)#此时不用顾及实参的位置

默认值

Python中可为每个形参设置“默认值”

在调用函数中,如果没有提供该形参对应的实参,那么Python将使用形参默认值作为实参

def greet_user(username='jesse', day):#写法示例

def make_alumb(name, zj, day = ' '):#默认值为空便于参数选择
if day :#判断有无传入day实参
music = {'name' : name,'zj' : zj, 'day': day}
else:
music = {'name' : name,'zj' : zj}
return music#返回字典music music_a = make_alumb("张杰", "高飞")
print(music_a)
music_a = make_alumb("张杰", "我们都一样")
print(music_a)
music_a = make_alumb("张杰", "剑心", 40)
print(music_a)

传递列表

 
 1 def greet_user(names):
2 for name in names:#循环打印列表
3 msg = "Hello," + name.title() + "!"
4 print(msg)
5 def make_great(names):
6 # 在此函数中对列表的任何修改都是具有【永久性】的
7 for name in names:
8 a = names.pop(0)
9 b = a + " hello word!"
10 names.append(b)
11
12 usernames = ['hannah', 'ty', 'margot']#写个列表
13 make_great(usernames)
14 greet_user(usernames)
15 #greet_user(usernames[ : ])
16 #传递列表副本给函数防止其修改原列表

传递任意数量的实参

def make_pizza(size, *toppings):#*toppings中的*号,将传入的所有实参,创建并封装到名为toppings的元组中
#Python优先匹配位置实参与关键字实参再将剩下的实参都收集到最后一个形参中,
# 所以必须将能容纳任意数量实参的形参放在最后,即带*号的形参放到最后
print(toppings) make_pizza(16, 'pepperoni')
make_pizza(12, 'mishrooom', 'gereen peppers', 'extra chese')

使用任意数量的关键字实参

def build_profile(first, last, **user_info):
#形参**user_info中的两个*号让Python创建一个名为user_info的空字典,并将收到的所有键值对都封装到这个字典中。
profile = {}
profile['firset_name'] = first
profile['last_name'] = last
for key, value in user_info.items():
profile[key] = value#处理字典user_info,为字典profile添加键值对
return profile user_profile = build_profile('albert', 'einstein', location = 'princeton', field = 'physics')
#关键字参数必须放在位置参数后边
print(user_profile)

导入模块

import pizza#执行时Python将打开文件pizza.py,并将其所有代码复制到这个程序中

pizza.make_pizza(16, 'pepperoni')#调用pizz.py中的函数必须在函数前加文件名 如,本操作即调用pizza.py中的的make_pizza函数
pizza.make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')

导入模块中所有函数 from pizza import*#导入过程中Python如遇到多个名称相同的函数或变量,将会将其覆盖,而不是导入

导入模块中特定函数

from pizza import  make_pizza#导入pizza模块中的make_pizza函数

make_pizza(16, 'pepperoni')#由于我们用import导入make_pizza函数,因此在调用此函数时也只需指定其名称,而不用加文件名(模块名)
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese'

为模块指定别名 import pizza as p#为模块pizza指定别名 p

为函数指定别名

如果要导入函数的名称太长或与程序中现有函数名称冲突,则需要使用  as 指定函数别名

from pizza import  make_pizza as mp#使用 as 为make_pizza函数指定别名为 mp

mp(16, 'pepperoni')#在此函数中即可使用mp 调用函数make_pizza

每个函数都应该包含阐述其功能的注释

为形参指定默认值时,等号两边不要有空格,函数调用中的关键字实参也应该遵循这种约定

Python中没有++a a++ a-- --a 这样的自增自减。

Python 函数 初学者笔记的更多相关文章

  1. Python 类 初学者笔记

    面对象编程:编写表现世界中的事物和景象的类,并基于这些类创建对象,被创建的对象称为实例化. 创建类 class Dog(): #Python中类名称中的首字母要大写 def __init__(self ...

  2. [Python_3] Python 函数 & IO

    0. 说明 Python 函数 & IO 笔记,基于 Python 3.6.2 参考  Python: read(), readline()和readlines()使用方法及性能比较  Pyt ...

  3. Python入门笔记(18):Python函数(1):基础部分

    一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...

  4. [Python学习笔记][第五章Python函数设计与使用]

    2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可 ...

  5. python学习笔记之——python函数

    1.定义一个函数 你可以定义一个自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定 ...

  6. 【Python】学习笔记之函数

    Python函数 在Python中,一切皆为对象,函数也可以赋给一个变量,就是指向一个函数对象的引用,相当于给这个函数起了一个“别名”: >>> a = max >>&g ...

  7. python函数的学习笔记

    这篇文章是我关于学习python函数的一些总结 一.随着函数的引入,这里首先要说的就是全局变量和局部变量了. 什么是全局变量.什么是局部变量: 全局变量就是全局都能调用的变量,一般都在文件的开头,顶头 ...

  8. PYTHON 100days学习笔记006:函数和模块的使用

    目录 Day006:函数和模块的使用 1.函数的作用 2.定义函数 2.1 语法 2.2 实例 2.3 函数的调用 4.函数的参数 4.1 必须参数 4.2 关键字参数 4.3 默认参数 4.4 不定 ...

  9. python函数和lambda表达式学习笔记

    1. python函数 不同于其他语言,python支持函数返回多个值 为函数提供说明文档:help(函数名)或者函数名.__doc__ def str_max(str1, str2): ''' 比较 ...

随机推荐

  1. Luogu P1280 尼可的任务(dp)

    题意: 时间为n,有k个任务,每个任务有一个开始时间和持续时间,从第一分钟开始,如果有开始的任务就要做,问最大空闲时间 n,k<=1e5 思路: 设 dp[i]为i~n时间中最大空闲时间,vec ...

  2. Django ORM各种查询

    正向和反向查询 正向 ----> 关联字段在当前表中,从当前表向外查叫正向 反向 —> 关联字段不在当前表中,当当前表向外查叫反向 正向通过字段,反向通过表名查 表结构 from djan ...

  3. Shiro权限验证说明

    1.简介 shiro是一个安全框架,是Apache的一个子项目.shiro提供了:认证.授权.加密.会话管理.与web集成.缓存等模块. 1.1.模块介绍 Authentication:用户身份识别, ...

  4. HTTP&HTTPS协议详解之HTTP篇

    一.HTTP简介 01.什么是HTTP HTTP(HyperText Transfer Protocol ,超文本传输协议),是一个基于请求与响应的,无状态的,应用层的协议,常基于TCP/IP协议传输 ...

  5. js发展历史与基础

    最早的浏览器是WWW浏览器 Mosaic浏览器是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器,于1993年问世 浏览器组成部分: 1)shell部分(外壳) 2)内核部分 ① 渲染引擎(语法 ...

  6. vue子向父传值

    要弄懂子组件如何向父组件传值,需要理清步骤 子组件向父组件传值的步骤 一:子组件在组件标签上通过绑定事件的方式向父组件发射数据 <!--html--><template id=&qu ...

  7. Import This - The Zen of Python

    The Zen of Python -- by Tim Peters Beautiful is better than ugly.Explicit is better than implicit.Si ...

  8. mysql添加远程权限

    mysql -u root -p grant all privileges on *.* to root@'%' identified by "password"; flush p ...

  9. Python3(十一) 原生爬虫

    一.爬虫实例 1.原理:文本分析并提取信息——正则表达式. 2.实例目的:爬取熊猫TV某个分类下面主播的人气排行 分析网站结构 操作:F12查看HTML信息,Ctrl+Shift+C鼠标选取后找到对应 ...

  10. 修改定时清理 /tmp 目录下的文件

    初衷 默认系统是超过 30 天不访问的文件自动清除的,但是有时候硬盘用得紧可以考虑修改周期 设置方法 编辑配置文件:vim /etc/cron.daily/tmpwatch #! /bin/sh fl ...