python—day13

python_day13 

1、三元表达式: 

  *条件成立返回一个值

  *条件不成立返回一个值

def max(x,y):  res = x if x>y else y  print(res)max(10,20)

2、递归

函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接调用函数本身;

def foo():  print(‘666‘)  doo()

def doo():  print(‘hahaha‘)  foo()

foo()

递归分为两个阶段:

1)回溯:

  注意:一定要在满足某种条件结束回溯,否则会无限递归

2)递推

def age():  if n == 1:    return 18  return age(n-1)+2age(5)
items = [1,[2,[3,[4,[5,[]]]]]]def tell(l):  for item in l:    if type(item) in not list:      print(item)    else:      tell(item)tell(items)

总结:

  1、递归一定要有一个明确地结束条件

  2、没进入下一次递归,问题地规模都应该减少

  3、在python中没有尾递归优化

匿名函数:

  lambda 

强调:

  1、匿名的目的就是要没有名字,给匿名函数赋予一个名字是没有意义的

  2、匿名函数的参数规则、作用域关系与有名函数是一样的

  3、匿名函数的函数体通常应是一个表达式,该表达式必须要有一个返回值

max() :循环找出可迭代对象中的最大值

1 sal= {
2   ‘kermit‘:200,
3    ‘alex‘:100 ,
4     ‘egon‘:300
5 }
6
7 print(max(sal,key=lambda x:sal[x]))

min() :循环找出可迭代对象中的最小值

1 sal = {
2    ‘b‘:10,
3    ‘a‘:20
4 }
5
6 print(sal,min(key=lambda x:sal[x]))

sorted() :循环可迭代对象,将它们升序、降序

1 salaries={
2     ‘egon‘:3000,
3     ‘alex‘:100000000,
4     ‘wupeiqi‘:10000,
5     ‘yuanhao‘:2000
6 }
7
8 print(sorted(salaries,key=lambda x:salaries[x])) #升序9 print(sorted(salaries,key=lambda x:salaries[x] reverse=True))  #降序

map() :循环可迭代对象,将值改变再映射回原位置

1 names=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,‘kermit‘]
2
3 res = map(lambda x:x+‘_sb‘ ,names) #res编程迭代器
4 print(list(res))5 res = map(lambda x:x+‘_NB‘ if x==‘kermit‘ else x+‘_SB‘,names)6 print(res)

 

原文地址:https://www.cnblogs.com/kermitjam/p/8696010.html

时间: 2024-11-10 01:23:58

python—day13的相关文章

python day13

  课程大纲 一.ORM         连表         一对多                 1.创建表,主动指定外键约束         2.操作                 类:repr                单表                                    连表                     session.query(表1).join(表2).all()                         多对多           

python基础之模块part2

sys: sys模块不同于os模块,这个是跟Python解释器打交道的. sys.argv:返回一个文件名开头,包含后面输入内容的 列表 import sys res = sys.argv print(res) 执行: C:\Users\ldsly>python E:\Python\DAY-13\模块2.py ['E:\\Python\\DAY-13\\模块2.py'] C:\Users\ldsly> ----------------------------------------------

Python 模块day13

模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了Python代码的文件.模块能定义函数,类和变量.模块里也能包含可执行的代码. 例子 一个叫做aname的模块里的Python代码一般都能在一个叫aname.py的文件中找到.下例是个简单的模块support.py. def print_func( par ):    print "Hello : 

python 全栈开发,Day13(迭代器,生成器)

一.迭代器 python 一切皆对象 能被for循环的对象就是可迭代对象 可迭代对象: str,list,tuple,dict,set,range 迭代器: f1文件句柄 dir打印该对象的所有操作方法 s = 'python' print(dir(s)) 执行输出: ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__

Python基础day-13[模块:re未完]

re: 本质上就是一种小型语言. 操作的对象是字符串. re.findall():返回的是一个列表.匹配出所有符合条件的元素. re.search():返回的是一个对象.只匹配出找到的第一个元素,如果匹配成功那么返回的对象就是含匹配目标的索引范围,和匹配内容.匹配失败就返回None. re.match():返回跟search一样也是一个对象,只匹配文件开头位置.如果匹配成功那么返回的对象就是含匹配目标的索引范围,和匹配内容.匹配失败就返回None. 示例: s = 'abclaskdjaklsj

Python基础day-13[模块:re,subprocess未完]

re(续): re默认是贪婪模式. 贪婪模式:在满足匹配时,匹配尽可能长的字符串. import re s = 'askldlaksdabccccccccasdabcccalsdacbcccacbcccabccc' res = re.findall('abc+',s) print(res) res = re.findall('abc+?',s) #在规则后面加?来取消贪婪模式. print(res) 执行结果: D:\Python\Python36-32\python.exe E:/Python

Python之路day13 web 前端(JavaScript,DOM操作)

参考链接:http://www.cnblogs.com/wupeiqi/articles/5433893.html day13 1. CSS示例 2. JavaScript 3. DOM操作 上节内容回顾: 1. HTML标签 html/head/body/ input div,span a p br span table > tr行 th表头列 td表头列 h form> action method enctype=;;; select option input系列: text passwo

Python学习-day13 SqlAlchemy

本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,

day13 python学习 迭代器,生成器

1.可迭代:当我们打印 print(dir([1,2]))   在出现的结果中可以看到包含 '__iter__', 这个方法,#次协议叫做可迭代协议 包含'__iter__'方法的函数就是可迭代函数 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的. 2.迭代器 iterator l = [1,2,3,4] l_iter = l.__iter__() #迭代器的生成 item = l_iter.__next__() #迭代器的使用,用此方法一一钓鱼迭代器中的数值 print