# 作用域相关(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. FunDA(5)- Reactive Streams:Play with Iteratees

    FunDA的设计目标就是把后台数据库中的数据搬到内存里,然后进行包括并行运算的数据处理,最后可能再对后台数据库进行更新.如果需要把数据搬到内存的话,那我们就必须考虑内存是否能一次性容纳所有的数据,有必 ...

  2. 如何取消mysql授权并删除用户

    如何查看授权的所有用户SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;撤销已经赋 ...

  3. IO概述、异常、File文件类_DAY19

    IO概述: 操作数据的工具 IO流,即数据流,数据像水流一样通过IO工具进行传输. 程序  <IO>   硬盘 绝对路径与相对路径 1:异常(理解) (1)就是程序的非正常情况. 异常相关 ...

  4. WSGI学习系列WebOb

    1. WSGI Server <-----> WSGI Middleware<-----> WSGI Application  1.1 WSGI Server wsgi ser ...

  5. java数据结构之三叉链表示的二叉树

    三叉链表示的二叉树定义所畏的三叉链表示是指二叉树由指向左孩子结点.右孩子结点.父亲结点[三叉]的引用(指针)数据和数据组成.    package datastructure.tree.btree; ...

  6. webbench的安装

    1.下载webbench包: 2.下载完毕后,在linux中安装   root@jack-desktop:~/software# tar xvzf webbench-1.5.tar.gz   root ...

  7. equal&==&hashcode

    == 和 equals 的区别 Object类中的equals方法和“==”是一样的,没有区别,而String类,Integer类等等一些类,是重写了equals方法,才使得equals和“==不同” ...

  8. C#的Equals不区分大小写

    代码:System.Windows.Forms.MessageBox.Show("abc".Equals("ABC", StringComparison.Inv ...

  9. Linux C 遍历指定目录

    #include<stdio.h> //标准输入输出 #include<unistd.h> //各种系统调用 #include<dirent.h> //与目录有关的 ...

  10. 转:Java8内存模型—永久代(PermGen)和元空间(Metaspace)

    一.JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1.虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建.栈里面存着的是一种叫“栈 ...