2018.12.12 今日所学

今日主要内容:

一 .内置函数

内置函数  : Python直接提供给我们的

作用域相关的 locals() 返回当前作用域的名字

       globals() 返回全局作用域

与迭代器相关的 : range() 生成数据

          next() 迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目              iter() 或取迭代器,内部实际使用的是__iter__()方法或取迭代器

字符串类型代码的执行 eval  :执行字符串类型的代码,并返回最终结果

相当于把字符串里面的内容执行 ,有返回值

print(eval(‘2+2‘))
n=8
print(eval(‘2+n‘))

def func():
    print(‘666‘)

eval(‘func()‘)  #666

 exec()  执行字符串类型的代码 (没有返回值)

exec("""
for i in range(10):
 print(i)
""")
exec("""
def func():
 print("我是周杰伦")
func()""")

 compile() 将字符串类型的代码编译,代码对象能够通过exec语句来执行或者eval()进行求值

‘‘‘
 参数说明:
 1. resource 要执行的代码, 动态代码片段
 2. 文件名, 代码存放的文件名, 当传入了第一个参数的时候, 这个参数给空就可以了
 3. 模式, 取值有3个,
 1. exec: 一般放一些流程语句的时候
 2. eval: resource只存放一个求值表达式.
 3. single: resource存放的代码有交互的时候. mode应为single
‘‘‘
code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)
code2 = "1+2+3"
c2 = compile(code2, "", mode="eval")
a = eval(c2)print(a)
code3 = "name = input(‘请输入你的名字:‘)"
c3 = compile(code3, "", mode="single")
exec(c3)
print(name)

  注: 有返回值的字符串形式的代码用eval() ,没有返回值的字符串形式的代码用exec().一般很少用到compile()

关于数字运算的   :  sum()  max()  min() 都必须是可迭代的对象  abs()绝对值

divmod(a,b) 计算商和余数 10/3=a...b

round(小数) 整数是奇数 ->四舍五入

       整数是偶数-> 五舍六入

pow(2,4)--> 2的4次方

all()  类比于and记

any() 类比于or记

拉链函数 zip()

l1=[1,2,3]
l2=[4,5,6]
l3=[7,8,9]
z=zip([l1,l2,l3])
for i in z:
    print(i)  # 结果(1,4,7)  (2,5,8)  (3,6,9)

二 .lambda匿名函数  (简单的函数用,复杂的函数不要用)

计算n的 n次方
def func(n):
    return n**n
print(func(10))

fn=lambda n : n**n
print(fn(10)) # 与上面的结果一样  

语法 :  函数名=lambda  参数(a,b) : 返回值

三.sorted   排序函数

语法 :  sorted(你要循环的内容,key=函数名,renerse=‘T or F‘)

Iterable: 可迭代对象
key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函
数的参数. 根据函数运算的结果进行排序

reverse: 是否是倒叙. True: 倒叙, False: 正序

四.map 映射函数

语法 map(function,iterable) 可以对可迭代对象中的每一个元素进行映射.分别取执行function

计算列表中每个元素的平方 ,返回新列表

def func(e):
    return e**e

m=map(func,[1,2,3,4])
print(m)
print(list(m))

  

五.filter 筛选函数  (过滤)

filter(function,iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后
根据function返回的True或者False来判断是否保留此项数据
Iterable: 可迭代对象

原文地址:https://www.cnblogs.com/zty1304368100/p/10109001.html

时间: 2024-11-06 09:40:49

2018.12.12 今日所学的相关文章

2018.12.21 今日所学

今日所学 : 1 .类的约束 2 .异常处理 try except raise 3. MD5加密 4. 日记处理(不要记,留一份,侧重点再用) 1 .类的约束 1) 写一个父类,父类中的某个方法要抛出一个异常 NotlmplemenredError(重点) class Base: #创建一个父类约束子类 def login(self): raise NotImplementedeError('系统报错,请重新输入') # 扔一个错误给子类,约束他们按照指定的内容输入 class yonghu(B

2018.12.4 今日所学

今日只要学习了 一. 基础数据类型的补充 二 ..深浅拷贝 一 . 主要内容: 之前讲的int 跟 str 已经讲过了80%的内容 接下来说剩下的: 1 .join join与之前的spilt 作用是相反的.  join 是将列表中的数据通过操作变成字符串 . 而split是通过字符串的切割将字符串变成列表 . 具体用法:  如 :li = ["李嘉诚", "麻花藤", "?海峰", "刘嘉玲"] li1=' _ ' .joi

2018.12.5 今日所学

今日主要学习了 1. 初识文件操作2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 其他操作方法9. 文件的修改以及另一种打开文件句柄的方式 一. 初识文件操作 1. 文件中我们经常用open来打开文件,或取到文件的句柄. 然后通过文件句柄就可以对文件进行各种各样的操作了.根据打开方式的不同能够执行的操作也会有不同的操作. 打开文件的方式: r ,w,a ,a+,w+,a+,rb,wb,ab,r+b,w+b,a+b

2018.12.6 今日所学

今日主要学习了 一. 什么是函数二. 函数定义, 函数名, 函数体以及函数的调?三. 函数的返回值四. 函数的参数 一, 什么是函数               如果找不到合适的函数名称 ,用 fu 或者是 func 类比于之前初中学的函数 f(x)=x+2  f(x)就是由x创建的函数 但是计算机中的函数与我们之前学习的函数有很大的差距 在python中, 我们创建函数需要用def创建函数,就是定义函数 例如: def fu(): print('打开陌陌') print('找到心仪的女生')

2018.11.29今日所学

今天主要学习了 列表 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操作(重点) 添加: 1. append() 追加 2. insert(位置, 元素) 插入指定元素到指定位置 删除: 1. pop(index) 根据索引删除 2. remove(元素)  根据元素删除 修改: 索引修改 lst[索引] = 元素 查询: for循环. 3. 列表的嵌套 多个列表互

2018/11/12(python)

文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 f=open('实验文件.txt',encoding='gbk') data=f.read() print (data ) f.close() 读写都是字符串形式 读 f=open('实验文件.txt','r',encoding='gbk') print(f.readlines()) f.close() 写,会覆盖原文件 f=open('实验文件.txt','w',encoding='gbk')

2018年12月,华为HCNP大面积更新题目,军哥独家解题咯

2018年12月,华为HCNP大面积更新题目,乾颐堂军哥独家解题咯2018年是华为认证变动比较大的一年,华为认证走过这几年不得不说是有一定进步的,而且最近华为孟女侠确实让我也小小的骄傲了一把,所以当然希望华为认证能做的更好,更专业一点(我平时没少吐槽华为的认证).回顾2018年华为认证做出的改变,有这么几件大事:1.多个方向终于开始比较正式的升级大纲了.我来帮大家讲一讲历史,依稀记得2014年那其实是我第一次意识到华为开始做网络方面的职业认证(当然人家开始做认证要更早一丢丢),当时我已经有思科的

人们喜欢传播符合自己三观的新闻,不在乎真假:4星|《环球科学》2018年12月号

<环球科学>2018年12月号 有趣.可信的科普杂志.本期有趣的话题:1:最近,科学家可能已经成功制造出“薛定谔的细菌”:2:雾霾中的颗粒物(PM)浓度的增高会显著增加儿童患上自闭症的风险:3:如果你毕业后就不再学习会怎么样?这么做可能会让你变得落伍,但这正是大部分机器学习系统被训练的方式:4:也许在不久的未来,在睡梦中学习也会变成现实:5:在不同的群体内部,新闻的传播性并不取决于新闻本身的真实性,而取决于新闻与群体世界观的契合度. 总体评价4星,非常好. 以下是书中一些内容的摘抄,#号后面是

12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期

12.10 Nginx访问日志 [[email protected] vhost]# vim test.com.conf除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加access_log /tmp/test.com.log martin;这里的combined_realip就是在nginx.conf中定义的日志格式名字 [[email protected] vhost]# /usr/local/nginx/sbin/nginx -tnginx: the co

关于2016.12.12——T1的反思:凸包的意义与应用

2016.12.12 T1 给n个圆,保证圆圆相离,求将圆围起来的最小周长.n<=100 就像上图.考场上,我就想用切线的角度来做凸包.以圆心x,y排序,像点凸包一样,不过用两圆之间的下切线角度来判断. 这就是下切线(我自己瞎编的名字): 好像是对的啊: 然后我就保证必AC的希望,用这种写法交了,然后就只得了N=2的暴力分... 自以为是正解,却落得如此下场... 为什么?这样不对吗?借用学长的力量,果然被Hack掉了: 这种情况,圆心排序后,检测的顺序并不是圆上的切点的顺序,自然就会挂. 蓝瘦