python基础语法四
函数的作用域:
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 #匿名函数赋值
函数:
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基础语法四的更多相关文章
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- python基础语法(四)
--------------------------------------------接 Python 基础语法(三)---------------------------------------- ...
- python基础语法及知识点总结
本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...
- 【转】Python基础语法
[转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...
- python基础语法(一)
Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...
- Python基础语法(转)
作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/ Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...
随机推荐
- fetch与XHR的区别与优势
Fetch API更加现代 XHR 和 Fetch API 最显著的区别就是调用方式不同.这一点大家应该都知道吧. 举个例子,下面两端代码完成的是同一功能: // 用 XHR 发起一个GET请求 va ...
- vue案例todolist备忘录
项目效果:https://cinderellastory.github.io/todolist/dist/index.html#/ 项目链接:https://github.com/Cinderella ...
- 超简DbHelper
using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Dynamic; n ...
- FPM三:简单的SEARCH(OIF)
这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序. 1.使用事务代码:FPM_WB.打开工作台. 2.点击Wizard for Creating Empty FPM App ...
- 将VMware虚拟机系统镜像导入到ESXi vSphere
原因: 公司有一个VMware虚拟机的交叉编译镜像,但主机性能不行,因此需要将镜像导入ESXi vSphere 过程: 1.将WMware虚拟机克隆; 2.将虚拟机的多个磁盘文件合并成一个;(否则vS ...
- day1 登录
#!/usr/bin/env python #Author:windtalker import os, getpass import sqlite3 from time import ctime pr ...
- json对象转对象
方式1:var obj = JSON.parse(jsonObject); 方式2:var obj = eval("("+jsonObject+")");
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
近很多朋友都会遇到这个问题,为什么我的微信域名或者QQ域名怎么总是提示拦截呢?在这里跟大家说一下吧: 第一点:就是域名里面的内容违规或者诱导被举报而导致的拦截 第二点:就是被用户或者同行恶意举报而导致 ...
- flask基础---第三篇
flask中request的一些方法 首先from flask import request 1.request.path 2.request.host 3.request.host_url from ...
- 程序员必会算法-KMP算法
KMP算法是一种优秀的字符串匹配算法,字符串匹配的常规算法是一步一步进行移位和比较操作,直至找到完全相匹配的字符串. 下面通过一个例子,为大家仔细说明KMP算法的使用和思路: 问题: 在字符串“DEA ...