1. ##############################################匿名函数####################################################
    # lambda x:x+1
    # def calc(x):
    # return x+1
    # calc(10)
    #用匿名函数来表示#####基本语法结构####lambda + 匿名函数的形参+函数表达处理公式(相当于函数的return)
    # lambda x:x+1
    # res = lambda x:x+1
    # print(res(10)
    ###########根据输入的内容修改#################################################################################
    # name = 'alex'
    # def name_change(name):
    # name = input('>>>')
    # print(name)
    # name_change(name)
    ###########匿名函数#####################需要和其他函数一起使用,一般不是独立存在的##############################
    # name = 'alex'
    # name_change = input(">>>")
    # lambda name:name_change
    # test = lambda name:name_change
    # print(test(name_change))
    ##########匿名函数#####################只能使用一行,不能进行逻辑判断#############################################
    ##################################################################################################################
    #编程方法论:
    #1.面向过程式编程
    #2.函数式编程
    #3.面向对象
    ####################################
    #什么是过程?
    #没有返回值的对象就是面向过程,过程也是函数
    #面向过程就是把大的问题分解成小的问题,基本单位就是函数
    #######################################
    # 什么是函数式编程?
    # 和面向对象一样,基本单位都是函数
    #函数式编程 = 编程语言定义的函数 + 数学意义的函数
    #相比面向过程,函数式编程会更为精简,都是可读性差
    #python不是一门严格意义上的函数式编程语言
    #######################################
    #函数式编程的特性
    #1.不可变,不用变量保存状态,不修改变量
    #2.函数体内不应该有任何形式的赋值操作
    #3.尽量不要使用在子函数去改全局变量
    ##########################################
    # def foo(n):
    # print(n)
    # def bar(name):
    # print('my name is %s' %name)
    # foo(bar('alex'))
    # 把函数当做参数传值,传给另一个函数
    # def foo():
    # print('from foo')
    # return foo
    # print(foo()())
    ######################################高阶函数#################################################
    #1.把函数当做参数传给另外一个函数
    #2.返回值中包含函数
    ##############################高阶函数用于构成装饰器###########################################
    #——————————————————————————————————————————————#
    ##############################尾调用优化##########################################################
    #尾调用:在函数的最后一步调用另外一个函数(最后一行不一定是函数的最后一步)
    #——————————————————————————————————————————————#
    ###############################map函数##############################################################
    # num_1 = [1,2,10,5,3,7]#根据列表得出所有的元素的平方组成列表
    # ret = []
    # for item in num_1:
    # ret.append(item**2)
    # print(ret)
    # [1, 4, 100, 25, 9, 49]
    #############################封装函数##############################################################
    # num_1 = [1,2,10,5,3,7]
    # def map_test(array):
    # ret = []
    # for item in num_1:
    # ret.append(item**2)
    # return ret
    # print(map_test(num_1))
    #————————————————————————————————————————————————#
    # num_1 = [1,2,10,5,3,7]
    # def add_one(x):#lambda x:x+1
    # return x+1
    # def min_one(x):
    # return x-1
    # def map_test(func,array):
    # ret = []
    # for item in num_1:
    # res = func(item)
    # ret.append(res)
    # return ret
    # print(map_test(add_one,num_1))
    ######终极版本#############
    # num_1 = [1,2,10,5,3,7]
    # def map_test(func,array):
    # ret = []
    # for i in array:
    # res = func(i)
    # ret.append(res)
    # return ret
    # print(map_test(lambda x:x-1,num_1))
    # [0, 1, 9, 4, 2, 6]
    #########################map函数#####################################################################
    # num_1 = [1,2,10,5,3,7]
    # res = map(lambda x:x-1,num_1)
    # print('内置函数map,处理结果',res)
    # 内置函数map,处理结果 <map object at 0x00000000027B8128>
    # [0, 1, 9, 4, 2, 6]
    # for i in res:
    # print(i)
    # print(list(res))
    #map实际是迭代器
    #map 两个参数,第一个填方法,第二个写可迭代对象
    #———————————————————————————————————————————————————#
    #####################################filter函数#########################################################
    # movie_person = ['alex','wupeiqi','yuanhao','sb_alex','linhaifeng']
    # def sb_show(n):
    # return n.endswith('sb')
    # def filter_test(array):
    # ret = []
    # for p in array:
    # if not p.startswith('sb'):
    # ret.append(p)
    # return ret
    # print(filter_test(movie_person))
    # movie_person = ['alex','wupeiqi','yuanhao','sb_alex','linhaifeng']
    # res = filter(lambda x:not x.startswith('sb'),movie_person)
    # print(list(res))
    # ['alex', 'wupeiqi', 'yuanhao', 'linhaifeng']
    #——————————————————————————————————————————————————————#
    #################################reduce函数###################################################################
    # from functools import reduce
    num_l = [1,2,3,4,5,6,100]
    # res = 0
    # for num in num_l:
    # res+=num
    # print(res)
  2.  
  3. # def reduce_test(func,array):
    # res = 0
    # for num in (array):
    # res+=num
    # return res
    # print(reduce_test(num_l))
    #reduce函数实际就是压缩数据,使用方法:函数+序列+初始值
    #################################################################总结######################
    #1.map用来处理序列中的每个元素,得到的结果是一个迭代器形式的列表(元素的格式及位置与原来一样)
    #2.filter函数时遍历序列中的每一个元素,判断每个元素,得到布尔值,如果是True则留在内存中[用于过滤数据]
    #3.reduce就是合并数据
    #——————————————————————————————————————————————————#
    ##########################################内置函数########################################################
    # 1.abs()取绝对值
    # print(abs(-5))
    # 5
    #################
    # 2.all()代表所有的值,所有的元素取出做布尔运算,0 None ‘ ’为假,所有的结果都是真则为真,有一个为假则为假
    # print(all([1,2,'1']))
    # True
    #3.any()代表任意的值,有一个为假,则全为假,有一个为真则全为真
    # print(any([1,2,'3',0]))
    # True
    # 4.bin()十进制转换为二进制
    # print(bin(3))
    # 0b11
    # 5.bool判断布尔值,空、None、0布尔值为False
    #6.bytes()代表把字符串转换为字节的形式,通过2进制传输
    # name = "你好"
    # print(bytes(name,encoding='UTF-8').decode('UTF-8'))#用什么方式编码就要用什么解码
    #7.classmethod()
    #8.delattr()
    #9.dict()字典
    #10.dir()目录,某一个对象下所具有的所有方法
    #11.divmod()取商得余数,可以用来做网页的分页功能
    # print(divmod(10,3))10代表总记录,3代表每页显示3条记录
    # (3, 1)
    #12.eval()将字符串中的字典提取出来,去除字符串,并执行数值计算
    # dic = {'name':'alex'}
    # dic_str = str(dic)
    # print(dic_str)
    # print(eval(dic_str))
    #13.hash()可hash的数据类型即不可变的数据类型,不可hash的位可变的数据类型
    # hash实际是一种算法,根据算法得出hash值,任何值都会被算为指定位数的值,不能反推出值,变量不变,hash值不变
    #hash使用方法:网络下载时,数据传输时修改木马程序,导致电脑中毒,对软件整体做hash运算,将值和软件同时下载
    #下载后解码时使用hash值得出下载值,只要hash值相同及软件未被修改
    #14.help查看方法的使用
    #15.bin(10)十进制转换为二进制
    #16.hex(12)十进制转换为十六进制
    #17.oct(12)十进制转换为8进制
    #18.isinstance()什么是什么的实例,判断输入的数据是不是该类的数据类型
    # print(isinstance(1,int))
    # True
    #19.globals 系统处理成相对路径
    # name = '哈哈哈哈哈哈哈'
    # print(globals())
    #max()、min()取最大最小值

Pyhton学习——Day7的更多相关文章

  1. Pyhton学习——Day26

    #多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...

  2. pyhton 学习

    官方学习文档 https://docs.python.org/3/tutorial/

  3. 20190320_head first pyhton学习笔记之构建发布

    1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...

  4. python学习Day7 数据类型的转换,字符编码演变历程

    一.数据类型的转换 1.1.1.字符转列表:lst1 = str.split(默认空格,也可依据指定字符分界),若无分界字符,就没法拆分,这时可以直接放进list转成列表 ----> s1 = ...

  5. Python学习-day7 类 部分socket

    这周还是继续关于类的学习,在面向对象的学习过程中又学习了网络编程,并且提交了编写FTP的作业. 复习一下类的相关概念和定义 类      属性           实例变量:内存中           ...

  6. Pyhton学习——Day2

    Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...

  7. Pyhton学习——Day28

    #上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...

  8. Pyhton学习——Day27

    # hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...

  9. Pyhton学习——Day25

    #面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...

随机推荐

  1. js中标签字符串的拼接

    //1.用单双引号拼接 var valueDemo = "111"; var htmlStrs1 = '<option selected="selected&quo ...

  2. BZOJ 2333 [SCOI2011]棘手的操作 (可并堆)

    码农题.. 很显然除了两个全局操作都能用可并堆完成 全局最大值用个multiset记录,每次合并时搞一搞就行了 注意使用multiset删除元素时 如果直接delete一个值,会把和这个值相同的所有元 ...

  3. 关于安卓sdk开发环境的的更新-Android SDK下载和更新失败

    由于特别原因,我们更新安卓sdk时不会成功.解决办法: 修改C:\Windows\System32\drivers\etc\hosts文件.添加一行:74.125.237.1       dl-ssl ...

  4. HDU 3342 -- Legal or Not【裸拓扑排序 &amp;&amp;水题 &amp;&amp; 邻接表实现】

    Legal or Not Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  5. java根据汉字获取全拼和首字母

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...

  6. CocoaPods的简单介绍及安装和使用

    CocoaPods的简单介绍及安装和使用   一.CocoaPods是什么? 当你开发iOS应用时,会常常使用到非常多第三方开源类库.比方JSONKit.AFNetWorking等等. 可能某个类库又 ...

  7. spark 随机森林算法案例实战

    随机森林算法 由多个决策树构成的森林,算法分类结果由这些决策树投票得到,决策树在生成的过程当中分别在行方向和列方向上添加随机过程,行方向上构建决策树时采用放回抽样(bootstraping)得到训练数 ...

  8. 杂项-分布式:Hadoop

    ylbtech-杂项-分布式:Hadoop Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和 ...

  9. Java-SpringCloud:Spring Cloud 是什么

    ylbtech-Java-SpringCloud:Spring Cloud 是什么 1.返回顶部 1. 一.概念定义       Spring Cloud是一个微服务框架,相比Dubbo等RPC框架, ...

  10. [jzoj 5661] 药香沁鼻 解题报告 (DP+dfs序)

    interlinkage: https://jzoj.net/senior/#contest/show/2703/0 description: solution: 注意到这本质就是一个背包,只是选了一 ...