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

视觉差 网站网络营销渠道可分为

视觉差 网站,网络营销渠道可分为,郑州网站推广费用,私人网站建设方案书框架栏目一、函数的返回值 return 语句: 1、给函数返回值(表达式) 2、用于终止函数的运行 return 语法: 1、如果不写return 或者 写了return 但是后面不写值或者变量,默认返回None 2、reutrn返回一个数据时,返回的数据类型为返回值本身的…

一、函数的返回值

return 语句:

        1、给函数返回值(表达式)

        2、用于终止函数的运行

return 语法:

        1、如果不写return 或者 写了return 但是后面不写值或者变量,默认返回None

        2、reutrn返回一个数据时,返回的数据类型为返回值本身的数据类型object

        3、return返回多个数据是,元素之间用逗号隔开,返回的数据类型为元组tuple

        4、函数中不同分值可以有多个return语句

        5、return是函数运行结束的标识符

# 1、不写return 或者 写了return 但是后面不写值或者变量,默认返回None
def add_func(a,b):total = a + breturn
res = add_func(11, 22)
print("--------------------------------------")
print("add_func返回的值为:{}".format(res))
'''
运行结果:
--------------------------------------
add_func返回的值为:None
'''# 2、return返回一个值
def add_func(a,b):total = a + breturn total
res = add_func(11, 22)
print("--------------------------------------")
print("add_func返回的值为:{},其数据类型为{}".format(res,type(res)))
'''
运行结果:
--------------------------------------
add_func返回的值为:33,其数据类型为<class 'int'>
'''# 3、return返回多个值
def add_func(a,b):total1 = a + btotal2 = a - btotal3 = a * btotal4 = a / breturn total1,total2,total3,total4
res = add_func(11, 22)
print("--------------------------------------")
print("add_func返回的值为:{},其数据类型为{}".format(res,type(res)))
'''
运行结果:
--------------------------------------
add_func返回的值为:(33, -11, 242, 0.5),其数据类型为<class 'tuple'>
'''# 4、多分支,return
def add_func(a,b,method):if method == "+":print("{} + {} ,运算结果为:{}".format(a,b,a+b))return a + belif method == "-":print("{} - {} ,运算结果为:{}".format(a, b, a - b))return a - belif method == "*":print("{} * {} ,运算结果为:{}".format(a, b, a * b))return a * belif method == "/":print("{} / {} ,运算结果为:{}".format(a, b, a / b))return a / b
print("--------------------------------------")
res = add_func(11, 22,"+")
print("add_func多分支返回的值为:{},其数据类型为{}".format(res,type(res)))
res = add_func(11, 22,"-")
print("add_func多分支返回的值为:{},其数据类型为{}".format(res,type(res)))
res = add_func(11, 22,"*")
print("add_func多分支返回的值为:{},其数据类型为{}".format(res,type(res)))
res = add_func(11, 22,"/")
print("add_func多分支返回的值为:{},其数据类型为{}".format(res,type(res)))
print("--------------------------------------")
'''
--------------------------------------
11 + 22 ,运算结果为:33
add_func多分支返回的值为:33,其数据类型为<class 'int'>
11 - 22 ,运算结果为:-11
add_func多分支返回的值为:-11,其数据类型为<class 'int'>
11 * 22 ,运算结果为:242
add_func多分支返回的值为:242,其数据类型为<class 'int'>
11 / 22 ,运算结果为:0.5
add_func多分支返回的值为:0.5,其数据类型为<class 'float'>
--------------------------------------
'''

二、函数的全局变量和局部变量

局部变量:

        1、在函数内部定义的变量

        2、其作用域仅为函数内部

        3、函数的形参是局部变量

        4、局部变量在函数调用时被创建,调用结束后被销毁

全局变量:

        1、定义在函数体外,python模块中的变量

        2、其作用域为整个python文件

        3、全局变量不能在函数体内修改其绑定关系

全局变量的修改:

        1、任何一个子函数,直接去使用全局变量,不对它进行修改,则只是引用共享全局变量

        2、某个子函数,对全局变量进行修改,全局变量是不可变数据类型,相当于重新创建一个全局变量

        3、某个子函数,对全局变量进行修改,全局变量是可变数据类型,确实是修改了全局变量

global 关键字:

        1、声明函数内部操作的一个或多个变量是全局变量

        2、不能先声明局部变量,再用global声明为全局变量

        3、global变量列表里的变量名不能出现在次作用域内的形参列表

函数变量引用的优先级:

        1、语句执行检查语法是从右到左

        2、先在局部变量,再找全局变量

        3、当局部变量和全局变量同名时,函数会优先使用局部变量

        4、函数内部定义局部变量时,尽量不和全局变量同名

# Demo实例1:----全局和局部作用域区分
name = 'james' # 全局变量
print("-----------------------------")def test():name = 'xiaowang'print("局部变量只在函数体内有效:",name)return nameres = test()   # 局部变量通过return返回
print("局部变量可以通过函数返回:",res)# 全局变量不能在函数体内修改其绑定关系
print("全局变量不能在函数体内修改其绑定关系:",name)
print("-----------------------------")
'''
运行结果:
-----------------------------
局部变量只在函数体内有效: xiaowang
局部变量可以通过函数返回: xiaowang
全局变量不能在函数体内修改其绑定关系: james
-----------------------------
'''
# Demo实例2:----函数内使用全局变量,报错情况一
# 未进行全局声明前,如下代码会报错
number1 = 100def func1():number1 = number1 + 100 # 会报错,原因如下:"""这行会报错,函数找number1的定义时,从右到左,先执行number1+100,发现number1在该语句之前没定义,因其定义的语句:number1 = number1 + 100还未生效"""print("number1的值为:{}".format(number1))func1()
print("----------------------------------------------------------")
'''
执行结果:(报错提示:在赋值之前不能先使用,得先声明再使用)
UnboundLocalError: local variable 'number1' referenced before assignment
'''# Demo实例3:----针对上述报错方案的优化
number2 = 100def func2():# 修改为如下,则OK, global声明的必须先声明再使用global number2number2 = number2+ 100print("局部定义global number2后的值为:{}".format(number2))func2()
"""
运行结果:
局部定义global number2后的值为:200
"""
# Demo4--global关键字的使用
test_list1 = [1,2,3] # 全局变量,作用域(整个当前的py文件)
def test01():global test_list  # 声明为全局变量test_list = [1,2,3] # 局部变量print("打印函数内部的局部变量的内存地址:",id(test_list))def test02():test01()print("global声明 打印全局变量的内存地址",id(test_list))print("打印全局变量的内存地址",id(test_list1))test02()
'''
运行结果:
-----------------------------
打印函数内部的局部变量的内存地址: 2585025008712
global声明 打印全局变量的内存地址 2585025008712
打印全局变量的内存地址 2585025008200
-----------------------------
'''
# 某个子函数,对全局变量进行修改,全局变量是可变数据类型,确实是修改了全局变量
test_list1 = [1, 2, 3] # 全局变量,作用域(整个当前py文件内使用)def test01():print("打印全局变量test_list1的内存地址t", test_list1, id(test_list1))def test02():test_list1.append(4)print("打印全局变量test_list1的内存地址t", test_list1, id(test_list1))
test01()
test02()
'''
-----------------------------
打印全局变量test_list1的内存地址t [1, 2, 3] 2021704487496
打印全局变量test_list1的内存地址t [1, 2, 3, 4] 2021704487496
-----------------------------
'''# 某个子函数,对全局变量进行修改,全局变量是不可变数据类型,相当于重新创建一个全局变量
test_list1 = 3 # 全局变量,作用域(整个当前py文件内使用)def test01():print("打印全局变量test_list1的内存地址t", test_list1, id(test_list1))def test02():test_list1 = 5print("打印全局变量test_list1的内存地址t", test_list1, id(test_list1))
test01()
test02()
'''
-----------------------------
打印全局变量test_list1的内存地址t 3 140735760920896
打印全局变量test_list1的内存地址t 5 140735760920960
-----------------------------
'''

三、内置函数

4.1 匿名函数

lambda关键字

python 使用 lambda关键字来创建匿名函数

lambda基本语法:

lambda [arg1 [,arg2,.....argn]]:expression

arg1...argn: 是参数列表,可以1个或者多个

expression: 是该匿名函数的返回值,或者返回逻辑,最多只能支持三元运算

lambda注意事项:

1)lambda只是一个表达式,函数体比def简单很多,无函数名称

2)lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑

3)lambda函数拥有自己的命名空间,且不能访问自己参数列表之外或全局参数

4)最多支持三元运算符

三元运算符(条件为真时的结果 if 判段的条件 else 条件为假时的结果 )

# demo1——简单的匿名函数
a = lambda x : x*x # x 为参数,x*x为返回的结果,a接受函数的返回值
print("两数相乘的匿名函数返回的结果:",a(10)) # 输出  100add_func = lambda a,b: a+b
print("两数相加的匿名函数返回的结果:",add_func(10,20)) # 输出 30# demo2——三元运算匿名函数
func = lambda x,y: x+y if x>y else x-y
print("若x>y,则相加,输入{},{},结果为{}".format(5,3,func(5,3)))
print("若x<y,则相加,输入{},{},结果为{}".format(3,5,func(3,5)))
'''
输出结果:
若x>y,则相加,输入5,3,结果为8
若x<y,则相加,输入3,5,结果为-2
'''

 4.2 常用内置函数

数据统计相关:如下三个函数的参数必须为可迭代对象iterable

1、min(): 获取最小值

2、max(): 获取最大值

3、sum(): 求和

可迭代对象:数据只能用一次

list1 = [1,2,3,4]
print("min的最小值为:",min(list1))
print("max的最大值为:",max(list1))
print("sum求和:",sum(list1))
'''
min的最小值为: 1
max的最大值为: 4
sum求和: 10
'''

高级内置函数:

1、eval

    识别字符串中的有效的python表达式并执行表达式====去引号+执行表达式 

print("eval函数去引号,执行表达式结果为{}".format(eval('3*2')))
print("未用eval函数去引号,执行表达式结果为{}".format('3*2'))
'''
eval函数去引号,执行表达式结果为6
未用eval函数去引号,执行表达式结果为3*2
'''

2、enumerate

    用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,

    同时列出数据和数据下标,一般用在 for 循环当中。

    返回的是元组数据的格式(索引, 值)

list_test = ["james","study","python","good"]
for data in enumerate(list_test):print("enumerate函数打印序列的索引和值,结果为元组:{}".format(data))for index,item in enumerate(list_test):print("enumerate函数打印序列的索引和值,元组拆包结果为:{},{}".format(index,item))
'''
enumerate函数打印序列的索引和值,结果为元组:(0, 'james')
enumerate函数打印序列的索引和值,结果为元组:(1, 'study')
enumerate函数打印序列的索引和值,结果为元组:(2, 'python')
enumerate函数打印序列的索引和值,结果为元组:(3, 'good')
enumerate函数打印序列的索引和值,元组拆包结果为:0,james
enumerate函数打印序列的索引和值,元组拆包结果为:1,study
enumerate函数打印序列的索引和值,元组拆包结果为:2,python
enumerate函数打印序列的索引和值,元组拆包结果为:3,good
'''

 3、zip

    用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,

    然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存

    也叫做数据的聚合打包,聚合后的数据只能使用一次

    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

    利用 * 号操作符,可以将元组解压为列表。

# zip--两个list聚合以后才能转换成字典
list1 = ["a","b","c"]
list2= [1,2,3]
res = zip(list1,list2)
# print("zip函数打包两个list时,结果为字典:{}".format(dict(res)))
print("zip函数打包两个list时,结果为列表:{}".format(list(res)))
'''
zip函数打包两个list时,结果为字典:{'a': 1, 'b': 2, 'c': 3}
zip函数打包两个list时,结果为列表:[('a', 1), ('b', 2), ('c', 3)]
'''list1 = [1, 2, 3, 4, 5]
list2 = [11, 22, 33, 44, 55]
list3 = [111, 222, 333, 444, 555]
list4 = [1111, 2222, 3333, 4444, 5555]
list5 = [11111, 22222, 33333, 44444, 55555]ret = zip(list1, list2, list3, list4, list5)
print("zip函数打包多个list时,结果为列表,列表的每个元素为相同索引对应的值组成的子列表:\n{}".format(numpy.array(list(ret))))
'''
zip函数打包多个list时,结果为列表,列表的每个元素为相同索引对应的值组成的子列表:
[[    1    11   111  1111 11111][    2    22   222  2222 22222][    3    33   333  3333 33333][    4    44   444  4444 44444][    5    55   555  5555 55555]]
'''

4、filter

    函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,

    如果要转换为列表,可以使用 list() 来转换。接收两个参数,第一个为函数,第二个为序列,

    序列的每个元素作为参数传递给函数进行判,

    然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

stu = [90, 100, 25, 425, 32, 77]ret = filter(lambda x: x > 80, stu)
print("filter函数过滤大于80的元素", list(ret))
'''
filter函数过滤大于80的元素 [90, 100, 425]
'''
http://www.ritt.cn/news/8339.html

相关文章:

  • wordpress function.phpseo从入门到精通
  • 想做个ktv的网站怎么做足球联赛排名
  • 杭州市建委网站全媒体广告投放平台
  • 保定莲池区疫情最新公告纯手工seo公司
  • 做外贸网站公司哪家好百度数据分析
  • 个人建设什么网站好网站推广网络推广
  • 镜像网站做优化奉化云优化seo
  • 邯郸做网站的电话长春网站优化团队
  • 重庆云阳网站建设公司推荐郑州关键词seo
  • 廊坊网站建设招聘常德网站建设公司
  • 如何快速提高网站关键词排名电子商务网站建设案例
  • 展示型网站设计宣传平台有哪些
  • 网站菜单效果网站如何提升seo排名
  • 国外网站404错误页加强服务保障满足群众急需i
  • 上海网站建设推荐秒搜科技深圳百度搜索排名优化
  • 网站建设使用的技术网络广告营销的案例
  • 淘宝客网站整站源码seo推广思路
  • 石家庄网站建设石家庄电商软文范例
  • 赣州网站制作公司国外搜索引擎大全不屏蔽
  • 建立微网站网络销售工作靠谱吗
  • 有一个网站自己做链接获取朋友位置免费b站软件推广网站
  • 做毕设靠谱的网站什么是百度快照
  • 如何进行网站建设网络营销推广方法
  • 软件开发包含网站开发吗宁波seo推广服务
  • 如何测试自己做的网站西安网站seo诊断
  • 想建个板栗网站怎么做如何免费开自己的网站
  • 创意网名带有特殊符号seo搜索引擎优化排名
  • 网站制作 招聘百度收录情况
  • 网站怎么做结算建站公司最新报价
  • 朝阳区建网站公司有帮云怎么搭建网站