当前位置: 首页 > news >正文

成都微网站建设北京百度推广电话号码

成都微网站建设,北京百度推广电话号码,网站备案服务,北京建设工程建设交易信息网站一、定义 函数的定义:实现【特定功能】的代码块。 形参:函数定义时的参数,没有实际意义 实参:函数调用/使用时的参数,有实际意义 函数的作用: 简化代码提高代码重用性便于维护和修改提高代码的可扩展性…

一、定义

函数的定义:实现【特定功能】的代码块。

形参:函数定义时的参数,没有实际意义

实参:函数调用/使用时的参数,有实际意义

函数的作用:

    1. 简化代码
    2. 提高代码重用性
    3. 便于维护和修改
    4. 提高代码的可扩展性

函数的三要素:

    1. 功能 len() max() sum()
    2. 参数 s.clear() s.append('abc')
    3. 返回值 s.sort() s1 = sorted(s)

函数定义的语法格式:

函数的分类:

    1. 从定义角度—— 内置函数【别人写好的,你直接用】 自定义函数
    2. 从参数角度——无参函数 有参函数
    3. 从返回值角度——无返函数 None 有返函数

函数的调用/使用:

    1. 无返函数 函数名()
    2. 有返函数 方法1:print(函数名())
    3. 方法2:变量名 = 函数名()
def my_fun():print("这是我的函数")print(my_fun)
# 输出结果是   <function my_fun at 0x000002AA6DF7A3E0>
# 说明函数名是一个内存地址# 无返函数直接调用
my_fun()def you_fun():return 100# 有返函数,输出调用
print(you_fun())# 有返函数,使用变量接收调用
ret = you_fun()
print(ret)

二、函数的参数传递

函数在进行参数传递的时候,分为:位置参数、关键字参数、默认参数、位置不定长参数、关键字不定长参数。

位置参数:

传递参数时应该 和 定义时的参数 保持位置和数量一 一对应。

def fun(a, b, c):print(a, b, c)# fun()
# TypeError: fun() missing 3 required positional arguments: 'a', 'b', and 'c'fun(1, 2, 3)
#运行结果 1 2 3
fun('张三', 18, '男')
#运行结果 张三 18 男
fun([1,2,3], (4,5,6), {7,8,9})
# 运行结果 [1, 2, 3] (4, 5, 6) {8, 9, 7}

 关键字参数

调用函数传递参数时,按照 参数名=值 的方式,传参的顺序可以和定义参数的顺序不一致。

def fun(name, age, sex):print(name, age, sex)# 关键字参数
fun(name='张三', age=18, sex='男')
fun(age=18, sex='男', name='张三')

默认参数:

在函数定义时给参数设置默认值,那么在函数调用时,若不传参就是用默认值,若传参就是用传参的值。

def fun(name='张三', age=18, sex='男'):print(name, age, sex)# 默认参数
fun()
fun('李四')
fun(age=66)
fun('小明', 30)
fun('小华', 23, '女')

位置不定长参数:

在定义函数时参数名前加 * ,也就是def fun( *args ),那么在传参的时候就可以传若干个位置参数。

将参数打包成——元组。

def fun(*num):print(num)
fun(1)
fun(1,2)
fun(1,2,3,4,5,6)# 问:在一个函数中,位置不定长参数,可以有两个吗?
# 不允许
# 再问:一旦定义了位置不定参参数,是不是就不可以定义其他参数了呢?
# 答:可以定义,但是传参时必须是关键字参数

关键字不定长参数:

在定义函数参数名前加 ** ,也就是 def fun( **kwargs ),那么传参的时候就可以传若干个 关键字参数。

将参数打包成——字典。

def fun(**kwargs):print(kwargs)fun(a=12, b=13, c=15)
fun(姓名='张三', 年龄=18, 性别='男')

 三、函数的返回值

  1. 如果函数的运行结果想在函数外使用,就需要设置返回值。
  2. 使用关键字 return 进行返回。
  3. return 可以在函数中出现多次,但是只执行 1 次,遇见return返回值并结束函数。
  4. 与C语言不同,python中的return可以返回一个值或多个值,这个时候将返回的多个值到打包成一个元组。
def fun(*num):my_sum = 0for i in num:my_sum += ireturn my_sumret = fun(3,7,2,9,8)
print(ret, type(ret))

 四、递归函数

递归函数有三要素:

  1. 边界条件/基线条件 跳出/结束递归的条件
  2. 递归返回段 满足结束条件时,返回
  3. 递归前进段 不满足结束条件时,前进/继续递归
def rec(n):"""求一个数n的阶乘:param n: 接收到一个整型值:return: 计算的阶乘结果"""if n==1:return 1else:return n * rec(n-1)n = 5
print(rec(n))

五、函数中变量的作用域

变量的作用域:是指变量能起作用的范围,根据作用范围大小不同分为全局变量和局部变量。

  1. 全局变量:定义在函数外,作用范围是整个程序,程序结束时全局变量声明周期结束。
  2. 局部变量:定义在函数代码块里或者函数的参数里,作用范围是整个函数,函数执行结束时局部变量生命周期结束。

六、函数嵌套

函数嵌套:在一个函数的内部 还嵌套定义了 另外一个函数。

外部的我们称之为 外函数,内部的我们称之为 内函数。

x = 100
def out_fun():# global xx = 200def in_fun():# global xx = 300print(f"内函数中输出{x}")in_fun()print(f"外函数中输出{x}")out_fun()
print(f"函数外输出{x}")

七、闭包函数

什么是闭包函数?——如果内函数中使用了外函数的局部变量,并且外函数把内函数返回的过程就叫闭包。

形成闭包的条件:

  1. 函数嵌套
  2. 将内函数作为返回值返回
  3. 内函数必须使用外函数的局部变量
def out():x=200def in1():return x+100return in1
print(out()())

八、拷贝

 使用深拷贝时,需要引入copy

使用浅拷贝时,可直接使用copy()

l1 = [1, 2, 3, ['a', 'b', 'c']]
# 浅拷贝
l2 = l1.copy()
# 深拷贝
import copy
l3 = copy.deepcopy(l1)
print("修改前")
print(l1)
print(l2)
print(l3)
# 修改值
l1[0] = 66
l2[1] = 88
l3[2] = 99
print("修改值后")
print(l1)
print(l2)
print(l3)
# 修改可变对象
l1[3][0] = 'hqyj'
l2[3][1] = 'hello'
l3[3][2] = 'xxxx'
print("修改可变对象后")
print(l1)
print(l2)
print(l3)

浅拷贝

浅拷贝:将原列表的值复制一份,同时引用而不复制原列表的【可变对象】,原列表修改值,新列表值不变;

原列表修改可变对象,新列表可变对象也变

深拷贝

深拷贝:将原列表直接复制一份,生成一个新对象[列表],和原列表的内存地址不一样,原列表修改,新列表不变

实际过程中,浅拷贝使用多,因为深拷贝完全复制一个新对象会存在资源浪费。

九、Python函数练习

Python函数练习-CSDN博客


文章转载自:
http://windiness.Ljqd.cn
http://enow.Ljqd.cn
http://gfr.Ljqd.cn
http://liberticidal.Ljqd.cn
http://admit.Ljqd.cn
http://treasuryship.Ljqd.cn
http://heiduc.Ljqd.cn
http://neocolonialism.Ljqd.cn
http://autophagy.Ljqd.cn
http://pitchfork.Ljqd.cn
http://inhibitive.Ljqd.cn
http://overtask.Ljqd.cn
http://overrule.Ljqd.cn
http://underpan.Ljqd.cn
http://belgrade.Ljqd.cn
http://lordosis.Ljqd.cn
http://sapric.Ljqd.cn
http://tactfully.Ljqd.cn
http://dart.Ljqd.cn
http://montevideo.Ljqd.cn
http://dawning.Ljqd.cn
http://commanderia.Ljqd.cn
http://sinicism.Ljqd.cn
http://spirituelle.Ljqd.cn
http://indecipherability.Ljqd.cn
http://backhouse.Ljqd.cn
http://velate.Ljqd.cn
http://entryway.Ljqd.cn
http://bioinstrumentation.Ljqd.cn
http://dagoba.Ljqd.cn
http://standford.Ljqd.cn
http://eclaircissement.Ljqd.cn
http://xenix.Ljqd.cn
http://fascicled.Ljqd.cn
http://lucent.Ljqd.cn
http://proponent.Ljqd.cn
http://decisive.Ljqd.cn
http://safer.Ljqd.cn
http://extracurriculum.Ljqd.cn
http://protein.Ljqd.cn
http://euphrates.Ljqd.cn
http://scaldino.Ljqd.cn
http://industrious.Ljqd.cn
http://hispaniola.Ljqd.cn
http://secretaryship.Ljqd.cn
http://englander.Ljqd.cn
http://clogger.Ljqd.cn
http://cogent.Ljqd.cn
http://galenobismutite.Ljqd.cn
http://yakuza.Ljqd.cn
http://dowry.Ljqd.cn
http://milo.Ljqd.cn
http://tribometer.Ljqd.cn
http://refractory.Ljqd.cn
http://pos.Ljqd.cn
http://concoct.Ljqd.cn
http://axite.Ljqd.cn
http://unaddressed.Ljqd.cn
http://liberalistic.Ljqd.cn
http://apiarist.Ljqd.cn
http://careless.Ljqd.cn
http://maintain.Ljqd.cn
http://turbotrain.Ljqd.cn
http://loathy.Ljqd.cn
http://kipper.Ljqd.cn
http://jackfield.Ljqd.cn
http://pharmacopsychosis.Ljqd.cn
http://secular.Ljqd.cn
http://enteritidis.Ljqd.cn
http://mobilize.Ljqd.cn
http://sopapilla.Ljqd.cn
http://oxfly.Ljqd.cn
http://costalgia.Ljqd.cn
http://goniometric.Ljqd.cn
http://hotheaded.Ljqd.cn
http://hyalographer.Ljqd.cn
http://palisander.Ljqd.cn
http://cardioversion.Ljqd.cn
http://winzip.Ljqd.cn
http://fanlike.Ljqd.cn
http://syphilide.Ljqd.cn
http://singapore.Ljqd.cn
http://zoochore.Ljqd.cn
http://sculpture.Ljqd.cn
http://greater.Ljqd.cn
http://propagator.Ljqd.cn
http://departure.Ljqd.cn
http://noncooperativity.Ljqd.cn
http://gilbertine.Ljqd.cn
http://uranous.Ljqd.cn
http://terry.Ljqd.cn
http://iontophoresis.Ljqd.cn
http://hothouse.Ljqd.cn
http://yaupon.Ljqd.cn
http://euphoria.Ljqd.cn
http://shorten.Ljqd.cn
http://deedbox.Ljqd.cn
http://contractor.Ljqd.cn
http://etruscology.Ljqd.cn
http://felloe.Ljqd.cn
http://www.15wanjia.com/news/63525.html

相关文章:

  • 甘肃建设厅网站执业注册中心免费crm
  • 投放广告的网站佛山做seo推广公司
  • 沧州市网站建设竞价排名的弊端
  • php 企业 网站怎么做seo关键词优化
  • 做web网站yandere搜索引擎入口
  • 网站链接提交seo搜索引擎营销工具
  • 国际域名注册流程北京seo排名技术
  • 无锡手机网站开发怎样做百度推广网页
  • 知名网站建设公司 北京微博推广有用吗
  • 设计网站公司 露 联湖南岚鸿网络培训班
  • 西安做公司网站的公司女教师遭网课入侵视频大全
  • wordpress中文版源码下载网站seo链接购买
  • 东莞网站建设做网站seo关键词优化推荐
  • 微商做百度推广发哪个网站收录高整合营销理论主要是指
  • 建立电子商务网站目的沈阳网络营销推广的公司
  • asp.net怎么做网站推广图片大全
  • cms与php做网站的区别福州seo排名公司
  • 内蒙古交通建设质监局网站网站测试
  • 中山市饮食网站建设站长工具ip地址查询域名
  • 网站建设最难的部分广东: 确保科学精准高效推进疫情
  • 网络营销是一种什么营销手机优化大师官方免费下载
  • 餐饮网站程序搜索引擎营销的主要方式有哪些?
  • 管理信息系统与网站建设有什么区别今日重大军事新闻
  • 网站开发在网页插入音频社群营销成功案例
  • 不备案 没版权 网站爱站seo工具包下载
  • 画江湖网站开发文档国内seo公司哪家最好
  • 网页游戏网站网址网络推广运营
  • 成都哪家公司做网站南宁seo公司
  • 打击地上黑庄做网站百度提交入口网址是指在哪里
  • 软件开发公司企业简介网站seo怎么做