Python全栈开发day5,,一、lambda表达


一、lambda表达式

对于简单的函数,存在一种简便的表示方式,即:lambda表达式

123>>> shaw = lambda x,y:x + y>>> shaw(1,2)3

二、python内置函数

http://www.cnblogs.com/opsedu/p/5573512.html

三、文件操作

打开文件--->操作文件--->关闭文件

f.tell()获取指针位置

f.seek()调整指针位置

f.flush()把内存中数据写入到磁盘

f.read()读取所有的内容,可以加从参数

f.readline()读取一行数据

f.readlines()生产一个列表(每行为一个元素)

f.trncate()截取指定内容(依据指针)

open(文件名,模式,编码)

文件打开模式:

r只读模式(默认)

w只写模式(不可读,不存在则创建,存在则清空内容)

x只写模式(不可读,不存在则创建,存在则报错)

a追加模式(不可读,不存在则创建,存在则只追加内容)

1234567f = open(‘passwd.txt‘)data = f.read()f.close()print(data)C:\Python35\python.exe F:/PyCharm/Python/PY_learn/lianxi.pysam222

‘+’表示可以同时读写

r+读写(可读:按照指针位置读取,可写:按照指针的位置往后写)

w+写读(可读,可写)先清空文件,后来再写(写完指针到最后),然后才可以读

x+写读(可读,可写)文件存在,则报错

a+写读(可读,可写)文件打开的同时,指针已经移到最后,

12345678f = open(‘passwd.txt‘,‘r+‘)for line in f: # 按行读取,直到文件被读完print(line)f.close()C:\Python35\python.exe F:/PyCharm/Python/PY_learn/lianxi.pysam222

‘b’表示以字节的方式操作

rb==r+b

wb==w+b

xb==x+b

ab==a+b

123456f = open(‘passwd.txt‘,‘rb‘)data = f.read()f.close()print(data,type(data))C:\Python35\python.exe F:/PyCharm/Python/PY_learn/lianxi.pyb‘sam\r\n222\r\n‘ <class ‘bytes‘>

打开文件的另一种方式,不用手工关闭文件(并且支持同时打开两个文件)

123456789with open(‘passwd.txt‘,‘r+‘) as f,open(‘shaw.log‘,‘w+‘) ash:for line in f:h.write(line)h.seek(0)data = h.read()print(data)C:\Python35\python.exe F:/PyCharm/Python/PY_learn/lianxi.pysam222

小结:函数可以作为另一个函数的参数传递

123456789def shaw(args):print(args)return Truedef s2():print(‘haha‘)return Trueshaw(s2)

四、冒泡排序

它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误(即不符合你所需要的条件)就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

  技术分享

示例:

123456789s = [12,3,56,78,9,34]print(s)for l in range(len(s)):for i inrange(len(s) - 1):if s[i] >s[i + 1]:mid =s[i]s[i] =s[i + 1]s[i + 1]= midprint(s)

五、递归

程序不断调用自己,当完成某个条件,退出

  技术分享

123456def s(a,b):print(a)c = a + bs(b,c)s(0,1)

递归实例:利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者

12345678def s(deep,a,b):if deep == 10:return ac = a + bh = s(deep +1,b,c)return hret = s(1,0,1)print(ret)

六、python装饰器

简单理解:在不改动原代码的情况下,对当前函数添加某些功能。

原理:给原函数重新赋值到装饰器的内层函数,执行过程中装饰器的内层函数又调用了原函数,这样就做到了,在执行原函数之前和之后,还可以做些事情

  技术分享

1、执行装饰器(函数),并且将原函数的函数名,当做参数

2、将装饰器(函数)的返回值重新赋值给原函数

123456789101112131415161718192021#!/bin/envpython#-*- coding:utf-8 -*-defwai(func):def nei(*args, **kwargs):print(‘在原函数前添加的新功能‘)ret = func(*args, **kwargs) # 原函数print(‘在原函数后添加的新功能‘)return retreturn nei@waidefindex(a1, a2):print(‘函数主体‘)return a1 + a2index(1,2)C:\Python35\python.exeF:/PyCharm/Python/PY_learn/lianxi.py在原函数前添加的新功能函数主体在原函数后添加的新功能

Python全栈开发day5

相关内容

    暂无相关文章

评论关闭