# 作用域相关(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. poj3624 Charm Bracelet

    http://poj.org/problem?id=3624 题目大意:贝茜去了商场的珠宝店,发现了一个迷人的手镯.当然,她想装最好的魅力(N(1≤N≤3402)可用的魅力).每个魅力提供的列表中都有 ...

  2. C语言的组成 以及预编译

    这么多年过去了,回头再来学习一下C语言,发现很多不一样的感觉 #include <stdio.h> int main(int argc, const char * argv[]) { pr ...

  3. 运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db  --defaults-file=conf/3306my.cnf FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_

    运行安装mysql 报错 [root@localhost mysql-mult]# ./scripts/mysql_install_db  --defaults-file=conf/3306my.cn ...

  4. MySQL实例crash的案例分析

    [作者] 王栋:携程技术保障中心数据库专家,对数据库疑难问题的排查和数据库自动化智能化运维工具的开发有强烈的兴趣. [问题描述] 我们生产环境有一组集群的多台MySQL服务器(MySQL 5.6.21 ...

  5. centos7 防火墙与端口设置、linux端口范围

    防火墙 启动防火墙: systemctl start firewalld 查看防火墙状态: systemctl status firewalld 关闭防火墙: systemctl stop firew ...

  6. 二叉排序树的理解和实现(Java)

    二叉排序树的定义和性质 二叉排序树又称二叉排序树.它或者是一个空树,或者是一个具有下列性质的二叉树: 若它的左子树不空,则左子树上所有节点的值均小于它的根结构的值 若它的右子树不空,则右子树上所有结点 ...

  7. Linux CentOS7系统中mysql8安装配置

    mysql是世界上最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司所有.今天我将记录一下如何在Linux centos7系统上安装和配置MySQL. 目录 环境准 ...

  8. javascript数据基本类型和引用类型区别详解

    JavaScript基本数据类型: js基本数据类型包括:undefined,null,number,boolean,string.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值. ...

  9. Java 并发编程——volatile与synchronized

    一.Java并发基础 多线程的优点 资源利用率更好 程序设计在某些情况下更简单 程序响应更快 这一点可能对于做客户端开发的更加清楚,一般的UI操作都需要开启一个子线程去完成某个任务,否者会容易导致客户 ...

  10. Ubuntu14.04安装之后的一些配置

    不多说,直接上干货! 主要分为 一.root用户的开启和vim编辑器的安装 二.ssh的安装 三.静态ip的设置 四.中英切换文环境切换 一.root用户的开启和vim编辑器的安装 Ubuntu在默认 ...