函数的作用域:

 name = 'alex'

     def foo():
name = 'linhaifei'
def bar():
name = "wupeiqi"
def tt():
name='tt'
print(name)
return tt
return bar foo()()()

#匿名函数

lambda x: x+1
# x 形参 ; x+1 返回值 lambda x:x+1 #匿名函数赋值

  

name =  'alex' #name = 'alex'
函数:
def chang_name(x):
 return name+'_sb'
匿名函数: 
lambda x:name+'_sb'
 
 
函数式编程:函数式 = 编程语言定义的函数+ 数学意义上的函数
 编程的方法论:
  面向过程
  函数式
  面向对象
  
 高阶函数:
  满足两个特性任意一个即为高阶函数
  1.函数的传入参数是一个函数名
  2.函数的返回值是一个函数名
 
 def bar():
print("from bar") def foo():
print('from foo')
return bar
n = foo()
n() #尾递归:
def cal(l):
print("assd")
return cal(l)

map 函数:

num_l = [1, 2, 3, 4, 5]
def map_test(func, array): #func = lambda x:x+1 array = [1, 2, 3, 4, 5]
ret = []
for i in array:
res = func(i)
ret.append(res)
return ret print(map_test(lambda x:x+1, num_l) res = map(lambda x:x+1, num_l)
#for i in res:#迭代器,只能迭代一次!
# print(i)
print(list(res))

  
filter函数:

movie_people = ['sb_alex', 'sb_wupeiqi', 'linhaifeng', 'sb_yuanhao']

def sb_show(n):
return n.endswith('sb')
# lambda n: n.endswith('sb') def filter_test(func,array):
ret = []
for i in array:
if not i.func(i):
ret.append(i)
return ret
print(filter_test(sb_show, movie_people)) #最终:
filter(lambda n:not n.endswith('sb'), movie_people)
print(list(filter(lambda n:not n.endswith('sb'), movie_people)))

  reduce 函数:

num_l = [1, 2, 3, 4, 5]
#相加:
#res = 0
#for num in num_l:
# res+=num
#print(res) def multi(x, y):
return x*y def reduce_test(func, array, init=None):
if init is None:
res = array.pop(0)
else:
res = init
for num in array:
res=func(res, num)
return res #最终:
from function import reduce
num_l=[1, 2, 3, 100]
print(reduce(lambda x, y:x+y, num_l, 1)

  文件处理:

    f = open('文件名', encoding='utf-8')
data = f.read()
print(data)
f.close() #r w a
默认打开的就是只读模式
f = open('文件名','r', encoding='utf-8')
data = f.read()
print(f.readable())
print(f.readline())
print(data)
f.close() #w 模式: 如果文件存在,文件会被清除,如果文件不存在,文件会被新建
f = open('文件名','w', encoding='utf-8')
f.write('111111\n')
f.write('222222\n')
#f.writeable()#是否可写
#f.writelines(['555\n', '666\n'])
f.close()
#a 可追加
f = open('文件名','a', encoding='utf-8')
f.write('111111\n') f.close() 即能读,也能写
f = open('文件名','r+', encoding='utf-8')
data = f.read()
print(f.readable())
print(f.readline())
print(data)
f.close()
 
 
 

python基础语法四的更多相关文章

  1. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  2. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  3. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  4. 吾八哥学Python(四):了解Python基础语法(下)

    咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...

  5. python基础语法(四)

    --------------------------------------------接 Python 基础语法(三)---------------------------------------- ...

  6. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  7. 【转】Python基础语法

    [转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...

  8. python基础语法(一)

    Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...

  9. Python基础语法(转)

    作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/   Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...

随机推荐

  1. PHP 框架实现原理

    一.MVC模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式. 控制器(Controller).负责转发请求,对请求进行处理. 视图(View).界面设计人员 ...

  2. docker中lnmp环境部署laravel框架

    yum install docker     安装docker service docker start   启动docker docker pull  docker.io/skiychan/ngin ...

  3. nginx 判断移动端或者PC端 进入不同域名

    自己最近用node.js + react 做了个网站.在PC端上的访问是这样的: 手机访问居然是这样的: 这样用户体验很不好. 所以做了一个移动端的版本. 需求: 需要判断用户是否手机还是电脑 访问网 ...

  4. Vue 知识整理—01-基础

    一:Vue是什么? Vue是一个JS框架. Vue.js是一套构建用户界面的渐进式框架. 库和框架的区别: ☞库:提供一些 API 工具函数,体现了封装的思想,需要我们主动调用: ☞框架:提供一套完整 ...

  5. sass学习小记

    错误 在sass命令行编译中遇到了一个错误: error E:/前端2/css揭秘/CSS-study/css揭秘/css揭秘.scss (Line 29: Invalid GBK character ...

  6. xtratabcontrol控件的标签样式--文本的宽高

    Skin skin_ = TabSkins.GetSkin(DevExpress.LookAndFeel.UserLookAndFeel.Default.ActiveLookAndFeel); Ski ...

  7. 【nowcoder】 4th T1 动态点分治

    题目链接:https://www.nowcoder.com/acm/contest/175/A 题目名字吓死人 std: 我 太可啪了 一道简单的模拟题.虽然我把题意想错了. 按照题意模拟输出和继承. ...

  8. vue刷新当前路由

    原理:跳转到空白页,然后再快速跳回原来的页面: 1,新建一个refresh.vue页面并添加到路由,页面内容如下 <script> export default { beforeRoute ...

  9. 【Python】Part1 应用1-Netcat

    01 简介 netcat的主要功能是通过tcp或udp协议传输读写数据. 下面代码用python编写了tcp客户端,服务端,从而实现上传文件,本地执行命令,反弹shell三种功能. 02 代码 imp ...

  10. laravel5.5首次使用php artisan migrate注意问题:

    1.在app/Providers/AppServiceProvider.php中设置字符串默认长度:(不进行这一步,执行php artisan migrate会报错,同时创建的表会有所缺失) use ...