定义函数

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 这样的自增自减。

最新文章

  1. Windows Universal 应用 – Tip Calculator
  2. 获取文件hash值
  3. CMake 使用方法(转)
  4. Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
  5. python 上传下载文件
  6. 用js进行日期的加减
  7. XACML-条件评估(Condition evaluation),规则评估(Rule evaluation),策略评估(Policy evaluation),策略集评估(PolicySet evaluation)
  8. ActionScript 3 中的强制类型转换
  9. FAQ_浏览器_ChromeDriver报错
  10. 【算法Everyday】第一日 二叉查找树转双向链表
  11. C# MVC分页,razor,view传送model
  12. 为什么java源文件中只允许一个public类存在
  13. Python输出文件由线解释和扩展的具体内容
  14. 模拟赛20181016 dp
  15. python学习笔记(十)、文件操作
  16. Java环境变量配置----JDK开发环境及环境变量设置
  17. 创建servlet程序知识点详解---servlet-day07
  18. Python 程序下载经办人照片
  19. [skill] ctags支持函数声明
  20. 20155318 《网络攻防》 Exp8 Web基础

热门文章

  1. 用反射、泛型 改造SqlHelper
  2. win10系统下安装JDK1.8及配置环境变量的方法
  3. PHP 中 new static 和 new self 的区别
  4. React之JSX的语法细节
  5. shell脚本自动备份MySQL数据库
  6. Error serializing object:序列化对象时出错
  7. 字符串转数字 (With C++)
  8. 少量代码设计一个登录界面 - .NET CORE(C#) WPF开发
  9. SAP 序列号与库存关联起来?
  10. Python——面向对象,简易学生信息管理系统