python学习之老男孩python全栈第九期_day015知识点总结
# 作用域相关(2)
locals() # 返回本地作用域中的所有名字 globals() # 返回全局作用域中的所有名字 # 迭代器/生成器相关(3)
range()
print('__next__' in dir(range(10))) # False --> 可迭代的,但不是迭代器
print('__next__' in dir(iter(range(10)))) # True --> iter()转换之后,就成为迭代器了 # next(迭代器) # 迭代器.__next__() == next(迭代器) # iter(可迭代的) # 迭代器 == iter(可迭代的);迭代器 == 可迭代的.__iter__() # 其他(12) # 1. 字符串类型代码的执行(3) eval() exec() # 两者相同与不同
# 相同点:
eval('print(123)') # 123
exec('print(123)') # 123
# 不同点:
print(eval('1+2+3+4')) # 10
print(exec('1+2+3+4')) # None ,没有返回值 # eval 和 exec都可以执行字符串类型的代码,但eval有返回值,exec没有返回值
# eval 只能用在你明确知道你要执行的代码是什么
# eval --> 有结果的简单计算
# exec --> 简单流程控制:
code = '''for i in range(10):
print(i * '*')
'''
exec(code) compile(): 将字符串类型的代码编译,代码对象能够通过exec语句来执行或者eval()进行求值 流程语句使用exec
code1 = 'for i in range(10):print(i)'
compile1 = compile(code1,'','exec')
exec(compile1) 简单求值表达式用eval
code2 = '1 + 2 + 3 + 4'
compile2 = compile(code2,'','eval')
print(eval(compile2)) # 10 交互语句用single
code3 = 'name = input("please input your name:")'
compile3 = compile(code3,'','single')
name #执行前name变量不存在
exec(compile3) #执行时显示交互命令,提示输入
print(name) # 提示有错误,但没有错(pycharm不知道什么逻辑)
name #执行后name变量有值
"'pythoner'" # 2.输入输出(2) input() print()
print('我们的祖国是花园\n',end='') # print() 里 end默认等于 \n (默认回车)
print('我们的祖国是花园\n',end='')
print('我们的祖国是花园',end='')
print('我们的祖国是花园',end='')
print('我们的祖国是花园\n')
print('我们的祖国是花园\n') print(1,2,3,4,5,sep='|') # 1|2|3|4|5 ,指定输出多个值之间的分隔符 # 3. 内存相关(2) id() # 内存地址 hash() #
# 对于相同的可以哈希的数据的哈希值再一次程序执行过程中总是不变的
# 字典的寻址方式 print(hash(1223)) # 1223
print(hash('qwewqrfsd')) # 字符串可哈希,不报错
print(hash(('1','ad'))) # 元组可哈希,不报错
print(hash([1,2,3])) # 报错,不可哈希 # 4. 文件操作相关(1) f = open('a.txt')
print(f.writable()) # 检测当前文件可不可以写
print(f.readable()) # 检测当前文件可不可以读 # 5. 模块相关(1) import 模块 # 导入模块
__import__()
t = __import__('time')
print(t.time()) # 6. 帮助(1)
help()
help(str) # 和dir()差不多,但help()是查看方法名以及它的用法 # 7. 调用相关(1)
callable() # 返回True或False,一般用来检测是不是一个函数 print(callable(print)) # 查看这个函数名可不可以调用 def func():pass
print(callable(func)) # 8. 查看内置属性(1)
dir() # 查看一个变量拥有的方法
print(dir([])) # 某个方法属于某个数据类型的变量,就用 . 调用
# 若某个方法不依赖与任何数据类型,就直接调用 --> 内置函数 和 自定义函数 基础数据类型相关(38) 和数字相关(14) 1. 数据类型(4) bool int float --> 浮点数 小数:有限循环小数;无限循环小数;无限不循环小数。其中前两个属于浮点数。 complex --> 复数 python里复数用 j 表示 5 + 12j 复数之间不能比较大小 # 基本不用 2. 进制转换相关(3) bin() --> 二进制 print(bin(10)) # 0b1010 0b代表二进制 oct() --> 八进制 print(oct(10)) # 0o12 0o代表八进制 hex() --> 十六进制 print(hex(10)) # 0xa 0x代表十六进制 3. 数学运算(7) abs():求绝对值 divmod():接收两个参数
# div:除法
# mod:取余
# Return the tuple (x//y, x%y). print(divmod(7,2)) # (3,1) # 应用:做分页 round():精确值 print(round(3.1415926,2)) # 3.14 精确到小数点后两位 pow():求幂运算 pow(2,3) # 8 pow(3,3) # 27 pow(2,3,3) # 若三个数,则先进行2的3次方,在对3取余 pow(3,3,4) # 若三个数,则先进行3的3次方,在对4取余 sum(iterable,start) # 里面必须是可迭代的,且必须是数 start是从几开始加 min() print(min([1,2,3,4])) # 1
print(min(1,2,3,4)) # 1
print(min(1,2,3,-4)) # -4
print(min(1,2,3,-4,key=abs))# 1 # 全部取绝对值之后再比较 max() print(max([1,2,3,4])) # 4
print(max(1,2,3,4)) # 4
print(max(1,2,3,-4)) # 3
print(max(1,2,3,-4,key=abs))# -4 # 全部取绝对值之后再比较,注意,输出的是取绝对值之前的数
python学习之老男孩python全栈第九期_day015知识点总结的更多相关文章
- python学习之老男孩python全栈第九期_day027知识点总结——反射、类的内置方法
一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print ...
- python学习之老男孩python全栈第九期_day023知识点总结——类和对象命名空间、组合
一. 类和对象命名空间类里 可以定义两种属性: 1. 静态属性 2. 动态属性 class Course: language = 'Chinese' def __init__(self, teache ...
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- python学习之老男孩python全栈第九期_day017知识点总结——初识递归、算法
一. 递归函数 如果一个函数在内部调用自身本身,这个函数就是递归函数. 最大递归深度默认是997 -- python从内存角度出发做得限制(而不是程序真的报错),最大深度可以修改 def func(n ...
- python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)
一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...
- python学习之老男孩python全栈第九期_day010知识点总结
def qqxing(l = []): # 可变数据类型 l.append(1) print(l)qqxing() # [1]qqxing([]) # [1]qqxing() # [1, 1]qqxi ...
- python学习之老男孩python全栈第九期_day007知识点总结
基础数据类型汇总 1. str 2. int 3. list 4. bool 5. dict (1) fromkeys Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对 ...
- python学习之老男孩python全栈第九期_day001知识点总结
1. Python2与Python3的区别: Python2:源码不标准,混乱,重复代码太多: Python3:统一标准,去除重复代码. 编码方式: python2的默认编码方式为ASCII码:pyt ...
- python学习之老男孩python全栈第九期_day014知识点总结
# 迭代器和生成器# 迭代器 # 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的# 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in dir ...
随机推荐
- Android 美学设计基础 <3>
本期接着对Android的美学设计的分享. 1.3 Light and shadows 光学与阴影 1.3.1 Light 在素材设计的环境中,我们会用虚拟的光来照亮UI界面.主灯光会产生尖锐,有方向 ...
- DOM操作复选框
DOM操作复选框 实现一个效果如下图: 点击"全选/全不选"复选框之后,足球.篮球.游泳和唱歌均被选取.取消"全选/全不选"复选框之后,被选中的所有都变成未选中 ...
- Window Screen对象
window.screen 对象包含有关用户屏幕的信息. window.screen对象在编写时可以不使用 window 这个前缀.一些属性: screen.availWidth // 可用的屏幕宽度 ...
- Docker学习--docker的基本认识
1.Docker 架构 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器. Docker 容器通过 Docker 镜像来创建. 容器与镜像的关系类似于 ...
- 使用Intent在活动之间穿梭
使用Intent在活动之间穿梭 1.在com.example.activitytest中创建第二个活动SecondActivity: /** * 第二个活动 */ public class Secon ...
- 软件魔方制作系统启动盘并安装win7系统
不多说,直接上干货! 推荐软件:软件魔方 http://mofang.ruanmei.com/ 这里,我想说的是,这个软件来制作系统盘,是真的方便和好处多多.具体我不多说,本人也是用过其他的如大白菜等 ...
- mysql数据库修改字符编码问题
遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成. 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码. 只有在存储到数据库后查询数 ...
- R语言中常用包(二)
数据导入 以下R包主要用于数据导入和保存数据 feather:一种快速,轻量级的文件格式.在R和python上都可使用readr:实现表格数据的快速导入.中文介绍可参考这里readxl:读取Micro ...
- lintcode-->翻转字符串
给定一个字符串,逐个翻转字符串中的每个单词. 您在真实的面试中是否遇到过这个题? Yes 说明 单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包 ...
- Nodejs学习笔记(九)—与Redis的交互(mranney/node_redis)入门
简介和安装 redis简介: 开源高性能key-value存储:采用内存中(in-memory)数据集的方式,也可以采用磁盘存储方式(前者性能高,但数据可能丢失,后者正好相反) 支持字符串(strin ...