《零压力学Python》 之 第二章知识点归纳
第二章(数字)知识点归纳
要生成非常大的数字,最简单的办法是使用幂运算符,它由两个星号( ** )组成。
如:
在Python中,整数是绝对精确的,这意味着不管它多大,加上1后都将得到一个新的值。你将看到浮点数不是这样的。
相等运算符( == ),结果为True 或 False,它们是特殊的保留字,被称为关键字,这意味着它们在Python语言中有特殊的预定义含义。
Python的这种“无穷大整数”功能很了不起,让你能够绝对精确地处理大得不得了的数字。如: google( googol)。在数学中,google( googol )指的是10的100次方,这个数字大得几乎难以想象。
虽然Python支持的整数非常大,但终归是有上限,这个上限不是Python带来的,而是计算机硬件(规模和速度)带来的。必须承认,这个上限并不明确,但肯定比 google 大得多,如:
google-plex是10的google次幂,很容易表示: 10 ** ( 10 ** 100),但不要尝试去计算它!如果将它打印写出来,那可是1后面跟着google个零!比整个宇宙的原子个数还要多,这远远超出了计算机的能力。
余数运算符( % ) x % y,符号取决于 y ;有一个为float,结果为float。
据科学家估计,整个宇宙的基本粒子(包括电子、质子、中子等)大约为1080 个
据估计,整个地球的沙粒数只有“区区”7.5 x 1018个
据估计,整个宇宙的直径大约为1026米
那么,哪个物理常理与google最为接近呢?
是大爆炸时(更准确地说是大爆炸后的普朗克时间)宇宙的密度(单位为千克/立方米)。这个数字为1096,但还是比google小。
除法 ( / ),无论是否是整数,计算结果为float类型
整数除法 ( // ),两个操作数为整数时,结果自动向下圆整到最近的整数。换言之,x //y 的结果为不大于 x / y的最大整数。当然,操作数也可以是浮点类。
要指定浮点格式,只需使用小数点即可。
可随便将整数表达式和浮点数表达式组合起来。Python将把整数表达式提升为浮点数。
浮点数的精度有限,一般为10-16。
Python使用53位二进制来表示浮点数的小数部分。
浮点数的取值范围为-10308 — 10308
对于很大的浮点数(或与0.0非常接近的浮点数),Python将使用科学表示法。
4.3 e -3,表示 4.3 x 10-3
9.6 E 5,表示9.6 x 105
将数字用作计数或索引时,它必须是整数。
变量只不过是一个被赋予了数据值的名称。在Python中,变量可在任何时候指向任何类型的数据,因为变是没有类型,而只有数据对象才有类型。
这些代码功能如下:
(1) 将变量名a与值1相关联
(2) 将变量名b与值2相关联
(3) 将分别表示1和2的变量a 和b相加。Python的反应就像你输入的是1+2一样。
使用变量前必须创建它,但用 = 给变量赋值时,如果变量未创建就创建它。
它们的作用是将名称x和my_amount都与数据值10相关联
如果重新给变量赋值,结果将会怎么样呢?
首先,将计算出右边的值;
其次,将撤销变量与之前的值的关联;
现在,与变量相关联的是等号 = 右边的值。
在Python中,赋值是一种语句。
Python名称都是区分大小写的。
至于变量名,规则如下:
(1) 变量名(和其他符号名)的第一个字符必须是下划线或字母,不能是数字;
(2) 其他字符可以是下划线、字母或数字。
一元二次方程,0 = ax2+bx+c,以及求解公式:
黄金比例的二次方程是这样定义的:A/B等于(A+B)/A。黄金比例的性质之一是,它比它的平方小1。 X2 = x + 1,由此可得,0 = x2 –x -1。
Python将每个变量都视为引用。关键是多个变量指向相同的值时,它们并不会分别存储这个值。
如果给其中一个变量赋新值,它将指向新的内存单元。如:
c = 10
虽然你可随心所欲,但让同一个变量指向不同类型为数据通常都是糟糕的编程做法。最理想的情况是,只要看变量名,程序员就知道它指向的是哪种类型的数据。要确定类型,可使用内置函数type(),但你无法通过查看变量在程序中是如何声明的来确定其类型。
使用Python编程是,坚持遵循特定的变量命名约定,代码的可读性将提高得多。
(1) xxx_str(即任何包含str的变量名)以及s1、s2、s3等,都存储文本字符串类型。
(2) xxx_list(即任包包含list的变量名),都存储列表类型。
(3) x,y,z,都存储浮点数
(4) 除x,y,z外的其它字母,尤春是i,j,k和m,都存储整数。
如果变量名称不属于上述类型,它存储的通常是整数。
函数的用途通常可通过其中包含的主动词获悉,如convert_to_centigrade()
多目标赋值:
序列赋值:赋值号左边是,元组或列表;右边是,元组或列表或字符串
运算符的快捷方式:
+= -= *= /= **= //= %=要知到的是,这些运算符组成的都不是表达式,而是完整的语句。
关于 ++和--,在Python中使用它们不会导致语法错误,但也不会有任何作用。因为Python支持单目运算符+和-,其中-的功能是反转操作数的符号,而+没有任何影响。
《零压力学Python》 之 第二章知识点归纳的更多相关文章
- 《零压力学Python》 之 第四章知识点归纳
第四章(决策和循环)知识点归纳 if condition: indented_statements [ elif condition: Indented_statements] [else: Inde ...
- 《零压力学Python》 之 第三章知识点归纳
第三章(第一个程序)知识点归纳 编程犹如写剧本.Python函数与剧本差别不大,你可以反复调用函数,而它每次都执行预定的“脚本”(脚本也可以指整个程序). 在Python IDLE中,真正的编程是从编 ...
- 《零压力学Python》 之 第一章知识点归纳
第一章(初识Python)知识点归纳 Python是从ABC语言衍生而来的 ABC语言是Guido参与设计的一种教学语言,为非专业编程人员所开发的. Python是荷兰程序员 Guido Van Ro ...
- [Python笔记][第二章Python序列-复杂的数据结构]
2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...
- [Python笔记][第二章Python序列-tuple,dict,set]
2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...
- [python笔记][第二章Python序列-list]
2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.rem ...
- javascript高级程序设计第二章知识点提炼
这是我整理的javascript高级程序设计第二章的脑图,内容也是非常浅显与简单.希望您看了我的博客能够给我一些意见或者建议.
- python 教程 第二章、 类型
第二章. 类型 常量 5,1.23,9.25e-3,’This is a string’,”It’s a string!” 1) 数 整数:2 长整数: 浮点数:3.23,52.3E-4 复数:-5+ ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
随机推荐
- linux 磁盘性能监控
linux下对于查看进程的命令非常多也非常强大.经常使用的如:ps top 可是在磁盘性能监控方面就没有那么统一了. 以下列举一些磁盘监控命令.此处仅仅是起到抛砖引玉作用,具体使用參数请參考man手 ...
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
上午写了下单向循环链表的程序,今天下午我把双向链表的程序写完了.其实双向链表和单向链表也是有很多相似的地方的,听名字可以猜到,每个节点都包含两个指针,一个指针指向上一个节点,一个指针指向下一个节点.这 ...
- 【HAOI 2008】 糖果传递
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1045 [算法] 环形均分纸牌问题 [代码] #include<bits/std ...
- window.onload的使用
window.onload:当页面加载的时候可以调用某些函数 例如: 1.最简单的调用方式 直接写到html的body标签里面,如: <html> <body onload=&quo ...
- Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库
CMake生成Unicode版本VC工程 Just add this line in your top CMakeLists.txt file: add_definitions(-DUNICO ...
- yield from (python生成器)
#生成器中的yield from是干什么用的(一般多用于线程,协程那)def func(): # for i in 'AB': # yield i yield from 'AB' # 就相当于上面的f ...
- ZOJ 3666 博弈 SG函数
SG函数: 对于任意状态,定义SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S)表示不再S内的最小非负整数 SG(X)=0当且仅当x为必败态. 解: 构造一个有向无环图(树) ...
- [转]linux uniq 命令详解
转自:http://blog.csdn.net/tianmohust/article/details/6997683 uniq 命令 文字 uniq 是LINUX命令 用途 报告或删除文件中重复的 ...
- cloudera-scm-server启动时出现Caused by: java.io.FileNotFoundException: /var/lib/cloudera-scm-server/.keystore (No such file or directory)问题解决方法(图文详解)
不多说,直接上干货! 问题详情 查看/var/log/cloudera-scm-server.log的启动日志 问题来源 我在用cloudermanager安装好之后,然后,在对如下. 配置kerbe ...
- C# 自己用到的几个参数转换方法
/// <summary> /// Method:CommandHelper /// Author:Liuyangyi /// Data:2016-05-10 /// </summa ...