# 作用域相关(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知识点总结的更多相关文章

  1. python学习之老男孩python全栈第九期_day027知识点总结——反射、类的内置方法

    一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print ...

  2. python学习之老男孩python全栈第九期_day023知识点总结——类和对象命名空间、组合

    一. 类和对象命名空间类里 可以定义两种属性: 1. 静态属性 2. 动态属性 class Course: language = 'Chinese' def __init__(self, teache ...

  3. python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块

    一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...

  4. python学习之老男孩python全栈第九期_day017知识点总结——初识递归、算法

    一. 递归函数 如果一个函数在内部调用自身本身,这个函数就是递归函数. 最大递归深度默认是997 -- python从内存角度出发做得限制(而不是程序真的报错),最大深度可以修改 def func(n ...

  5. python学习之老男孩python全栈第九期_day015作业_老男孩Python全9期练习题(面试真题模拟)

    一. 选择题(32分) 1. python不支持的数据类型有:AA. charB. intC. floatD. list 2. Ex = ‘foo’y = 2print(x + y)A. fooB. ...

  6. python学习之老男孩python全栈第九期_day010知识点总结

    def qqxing(l = []): # 可变数据类型 l.append(1) print(l)qqxing() # [1]qqxing([]) # [1]qqxing() # [1, 1]qqxi ...

  7. python学习之老男孩python全栈第九期_day007知识点总结

    基础数据类型汇总 1. str 2. int 3. list 4. bool 5. dict (1) fromkeys Python 字典 fromkeys() 方法用于创建一个新的字典,并以可迭代对 ...

  8. python学习之老男孩python全栈第九期_day001知识点总结

    1. Python2与Python3的区别: Python2:源码不标准,混乱,重复代码太多: Python3:统一标准,去除重复代码. 编码方式: python2的默认编码方式为ASCII码:pyt ...

  9. python学习之老男孩python全栈第九期_day014知识点总结

    # 迭代器和生成器# 迭代器 # 双下方法:很少直接调用的方法,一般情况下,是通过其他语法触发的# 可迭代的 --> 可迭代协议:含有__iter__的方法( '__iter__' in dir ...

随机推荐

  1. [Angular 6] 初学angular,环境全部最新,[ ng serve ] 不能启动,卡在 95% 不动 => 解决方案

    2018.9.7 问题描述: 通过ng serve命令启动angular应用时,卡在95%, ctrl+c 停掉后看到错误内容为找不到ng_modules下的angular模块下的package.js ...

  2. 浅析js中取绝对值的2种方法

    1.abs()   var aaa=-20;   var bbb=Math.abs(aaa); 2.加减法   var aaa=-20;   var bbb=-aaa

  3. 多线程编程,CPU是如何解决多线程内存访问问题的

    CPU对内存变量的修改是先读取内存数据到CPU Cache中,然后再由CPU做运算,运算完成后继续写入到内存中 在单核CPU中,这完全没有问题,然而在多核CPU中,每一个CPU核心都拥有自己独立的Ca ...

  4. 剑指offer六十之按之把二叉树打印成多行

    一.题目 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行.二.思路 队列LinkedList完成层序遍历,用end记录每层结点数目 三.代码 import java.util.Arra ...

  5. Java执行Shell脚本“No such file or directory” (win->Linux)异常的可能原因

    转自:http://blog.csdn.net/zlpdaisy/article/details/6134314 用Runtime.getRuntime().exec()方法执行Linux的一个She ...

  6. (转)WebSphere 中池资源调优 - 线程池、连接池和 ORB

    WebSphere 中池资源调优 - 线程池.连接池和 ORB 来自:https://www.ibm.com/developerworks/cn/websphere/library/techartic ...

  7. Java之IO(五)文件系统

    转载请注明源出处:http://www.cnblogs.com/lighten/p/6992043.html 1.前言 在讲解Java的文件流之前,先来认识一下Java的文件系统的实现.值得一提的是, ...

  8. 使用spring EL表达式+自定义切面封装缓存模块

    需求是这样的,业务代码需要使用到缓存功能以减少数据库压力,使用redis来实现,并且需要生成缓存的key由方法的传参拼接而成(貌似也只能这样才能保证同样的select查询可以使用缓存),简单的方式就是 ...

  9. Disconf 学习系列之Disconf 的模块架构图

    不多说,直接上干货!  Disconf 的模块架构主要包括: Disconf-Tools . Disconf-Web. Disconf-client 和  Disconf-Core. 每个模块的简单介 ...

  10. go语言的unsafe包(转)

    The unsafe Package in Golang Golang的unsafe包是一个很特殊的包. 为什么这样说呢? 本文将详细解释. 来自go语言官方文档的警告 unsafe包的文档是这么说的 ...