1、定义函数

def greet():print('Hello!')
greet()                         #Hello!
def greet_user(username):print(f"Hello,{username.title()}")
greet_user('jesse')             #Hello,Jesse

2、传递实参

(1)位置实参

def describe_pet(animal_type,pet_name):print(f"\nI have a {animal_type}.")print(f"My {animal_type}'s name is {pet_name.title()}")
describe_pet('cat','mimi')
#I have a cat.
#My cat's name is Mimi
describe_pet('dog','lucky')
#I have a dog.
#My dog's name is Lucky

(2)关键字实参

describe_pet(pet_name='lulu',animal_type='hamster')
#I have a hamster.
#My hamster's name is Lulu

3、返回值

(1)

def get_formatted_name(first_name,last_name,middle_name=''):#实参变成可选的if middle_name:full_name=f"{first_name} {middle_name} {last_name}"else:full_name=f"{first_name} {last_name}"return full_name.title()
musician=get_formatted_name('jimi','hendrix')
print(musician)                                             #Jimi Hendrix
musician=get_formatted_name('john','hooker','lee')
print(musician)                                             #John Lee Hooker
while True:                                                 #与while循环结合print("\nPlease tell me your name:")print("Enter 'q' at any time to quit.")f_name=input("First name:")if f_name=='q':                                         #退出循环的条件breakl_name=input("Last name:")if l_name=='q':breakformatted_name=get_formatted_name(f_name,l_name)print(f"\nHello,{formatted_name}!")

(2)返回字典

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

4、参数

(1)打包参数(用于形参)

def myfunc(*args):#  *打包成元组print(args)
myfunc(1,2,3,4,5)#(1, 2, 3, 4, 5)
def myfunc2():return 1,2,3
print(myfunc2())#(1, 2, 3)
x,y,z=myfunc2()#1 2 3
print(x,y,z)
def myfunc3(*args):print(type(args))
myfunc3(1,2,3,4,5)#<class 'tuple'>
def myfunc4(*args,a,b):print(args,a,b)
myfunc4(1,2,3,a=4,b=5)#(1, 2, 3) 4 5
def abc(a,*,b,c):print(a,b,c)
abc(1,b=2,c=3)
def myfunc5(**kwargs):# **打包为字典print(kwargs)
myfunc5(a=1,b=2,c=3)#{'a': 1, 'b': 2, 'c': 3}
def myfunc6(a,*b,**c):print(a,b,c)
myfunc6(1,2,3,4,x=5,y=6)#1 (2, 3, 4) {'x': 5, 'y': 6}

(2)解包参数(用于实参)

args=(1,2,3,4)
def myfunc7(a,b,c,d):print(a,b,c,d)
myfunc7(*args)      #1 2 3 4
kwargs={'a':1,'b':2,'c':3,'d':4}
myfunc7(**kwargs)   #1 2 3 4

5、作用域

1)局部作用域

def myfunc():   #局部作用域x=520print(x)
myfunc()        #520

(2)全局作用域

x=880           #全局作用域
def myfunc2():print(x)
myfunc2()       #880

(3)都有

x=880
def myfunc3():x=520print(x)
myfunc3()       #520

局部变量会覆盖全局变量

(4)global语句

修改全局变量

def myfunc4():global xx=520print(x)
myfunc4()       #520
print(x)        #520

(5)嵌套函数-nonlocal语句

nonlocal语句:内部函数修改外部函数变量+

def funA():x=520def funB():nonlocal xx=880print("In funB,x=",x)funB()              #In funB,x= 880print("In funA,x=",x)
funA()                  #In funA,x= 880

(6)LEGB规则

Local(局部作用域)-- Enclosed(嵌套的外层函数作用域)-- Global(全局作用域)-- Build-In(内置作用域)

6、将函数存储于模块中

(1)导入模块

#pizza.py
def make_pizza(*toppings):print(f"\nMaking a pizza with the following toppings:")for topping in toppings:print(f"-{topping}")
#make_pizza.py
import pizza
pizza.make_pizza(16,'pepperoni')
pizza.make_pizza(12,'mushrooms','green peppers','extra cheese')

(2)导入函数

from module_name import function_name
from pizza import make_pizza
make_pizza(16,'pepperoni')
make_pizza(12,'mushrooms','green peppers','extra cheese')

(3)使用as给函数指定别名

from module_name import function_name as fn
from pizza import make_pizza as mp
mp(16,'pepperoni')
mp(12,'mushrooms','green peppers','extra cheese')

(4)使用as给模块指定别名

import module_name as mn
import pizza as p
p.make_pizza(16,'pepperoni')
p.make_pizza(12,'mushrooms','green peppers','extra cheese')

(5)导入模块中的函数

from module_name import*
from pizza import*
make_pizza(16,'pepperoni')
make_pizza(12,'mushrooms','green peppers','extra cheese')

Python学习笔记7-函数相关推荐

  1. Python学习笔记:函数(Function)

    Python学习笔记:函数(Function) 一.函数基本概念 函数是Python里组织与重用代码最重要的方法.一般来说,如果你期望多次重复相同或相似的代码,写一个可重用的函数可能是值得的.函数通过 ...

  2. Python学习笔记12_函数

    Python学习笔记12_函数 文章目录 Python学习笔记12_函数 1.函数定义 2.函数调用 3.函数的参数 3.1.可更改对象和不可更改对象参数 3.2.必需参数(位置参数) 3.3.关键字 ...

  3. Python学习笔记——一些函数

    本文对应头歌上的Python练习:https://www.educoder.net/paths/pn7qklv9 基础知识1: input( )函数 input()函数从控制台获得用户输入,无论用户在 ...

  4. 小甲鱼python003答案_小甲鱼:Python学习笔记003_函数

    >>> # 函数 >>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!" ...

  5. Python学习笔记系列——函数

    今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...

  6. Python学习笔记:匿名函数

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  7. Python学习笔记:函数

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. python学习笔记三一 函数学习

    函数学习 range函数 •生成有序的序列 •生成数字队列可以定制 # range函数案例1 # 生成一个从1到10的数字序列 # range的生成序列的两个面数字是左包括,右不包括(如下所示只包括1 ...

  9. Python学习笔记之函数(四)

    1.传递任意数量的实参,可以在形参的参数底下加个 * 符号,在我们预先不知道要函数要接受多少实参的时候,就可以使用这种方式,函数就可以从调用语句中收集任意数量的实参. 示例代码如下: #传递任意数量的 ...

  10. Python学习笔记之函数(二)

    一.函数返回值 1.什么是返回值:函数返回的值被称为返回值.在函数中,可使用return语句将值返回到调用函数的代码行.这样,我们可以在函数方法体下实现一些小模块的功能,并返回,从而简化主程序的代码. ...

最新文章

  1. 怎么使用html及jsp开发,jsp怎么用css
  2. android double比较大小吗,Android双向选择控件DoubleSeekBar使用详解
  3. 11)PHP,单选框和复选框的post提交方式处理
  4. Struts2 自定义验证器
  5. selenium+webdriver错误...exceptions.ElementNotInteractableException: Message: Element is not visible处理
  6. 计算机常见软件故障有哪几种,计算机常见故障可分为硬件和软件故障,具体介绍...
  7. Excel怎么隐藏指定文本单元格整行
  8. 佐客牛排机器人餐厅_“机器人餐厅”来了
  9. 关于世博会的一些遐想!
  10. canvas实现 行人 走路的动画(完整实现)
  11. samba使用指定端口windows访问linux
  12. 快速幂详解(通俗易懂!)
  13. Echarts地图制作介绍
  14. MongoDB之文本搜索
  15. linux usb音频,audio - 如何从linux USB捕获设备捕获与ffmpeg同步的音频和视频 - 堆栈内存溢出...
  16. AcrGIS Pro一键出图
  17. libusb-win32的使用方法
  18. 中级软件设计师(软考)笔记——计算机网络与安全
  19. C#技巧:网页表单自动填写技术
  20. 计算机组成原理论文5000字,计算机组成原理课程设计论文

热门文章

  1. Python爬虫实战:《战狼2》豆瓣影评分析
  2. 你有被代理过吗?讲讲开源框架都在用的代理模式
  3. 转:TED高赞演讲:我们的认知,正在被这3种偏见毁掉
  4. 苹果手机解绑微信支付教程
  5. Nokia Symbian PKG sis文件就会及时更新了
  6. 【CS学习笔记】26、杀毒软件
  7. 软考软件设计师备考详细介绍
  8. 淘宝模板开发系列之DOM、CSS规范
  9. c语言多个自我介绍编码,代码自我介绍.doc
  10. 农夫山泉2面面试经历