Skip to content

Python 从入门到放弃

Python特点

  1. Python是一门编程语言,它只是众多编程语言中的一种
  2. 语法简洁、优雅、编写的程序容易阅读
  3. 跨平台,可以运行在Windows、Linux以及MacOS
  4. 易于学习。站在非计算机专业的角度来讲,如果把编程语言当做解决问题的工具, Python确实相较于C++、Java、JavaScript等语言要易于学习和掌握
  5. 极为强大而丰富的标准库与第3三方库,比如电子邮件,比如图形GUl界面
  6. Python是面向对象的语言

Simple is better than complex. 简洁胜于复杂

Now is better than never. Although never is often better than right now 做也许好过不做,但不假思索就动手还不如不做

Python能做什么

  1. 爬虫
  2. 大数据与数据分析( Spark )
  3. 自动化运维与自动化测试
  4. Web开发: Flask、Django
  5. 机器学习: Tensor Flow
  6. 胶水语言:混合其他如C++、Java等来编程。能够把用其他语言制作的各种模块(尤其是C/C++ )很轻松地联结在一起

入门

python 如何将a、b两个变量的值交换 a,b=b,a

Python的基本数据类型

  1. 整数: int
  2. 浮点数: float
  3. 其他语言:单精度( float) , 双精度( double )
  4. 其他语言: short, int, long

Number

15043744749

15043907558

15044029557

Python 表示二进制 0b 开头,八进制 0o开头,十六进制0x开头

15044447334

15045047958

bool

15045246628

15045413384

15045705878

complex

15045816678

str

如何表示字符串? 单引号,双引号,三引号

15050003134

15050155431

15050304019

15050447345

15050601267

转义字符

特殊的字符 无法“看见”的字符 与语言本身语法有冲突的字符

15050807125

字符串运算

15051141931

15051525630

15052003488

15051853958

list

15052206137

15052255095

15052958359

tuple

15053244952

15053409662

15053601546

str,list,tuple 在 Python 中都属于序列

15054103922

15054154364

set

15054541540

15054722441

15054837494

dict

dict 的 key 必须是不可变类型

15055038241

15055423119

15055522661

变量与运算符

变量

系统关键字不能用在变量名中,变量名字应该清晰规范

15055951383

int str tuple (不可改变) 值类型,list set dict (可变) 引用类型

15060356912

15060759583

15060953916

15061149933

运算符

算术运算符

运算符描述实例(以下假设变量: a=10,b=20)
+加 - 两个对象相加a + b 输出结果 30
-减 - 得到负数或是一个数减去另一个数a - b 输出结果 -10
*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 200
/除 - x除以yb / a 输出结果 2
%取模 - 返回除法的余数b % a 输出结果 0
**幂 - 返回x的y次幂a**b 为10的20次方, 输出结果 100000000000000000000
//取整除 - 返回商的整数部分(向下取整>>> 9//2 4 >>> -9//2 -5

赋值运算符

运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c *= a 等效于 c = c * a
//=取整除赋值运算符c //= a 等效于 c = c // a
15061514871

比较运算符

运算符描述实例
==等于 - 比较对象是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象是否不相等(a != b) 返回 true.
<>不等于 - 比较两个对象是否不相等。python3 已废弃。(a <> b) 返回 true。这个运算符类似 !=
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。(a < b) 返回 true。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。

15062807850

15062827232

逻辑运算符

运算符逻辑表达式描述实例(变量 a 为 10, b为 20)
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

15062910639

int float 0 被认为是False,非 0 被认为是True

空串 被认为是 False

空的 (list,tuple,set,dict) 都被认为是 False

16001545378

16001405275

成员运算符

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

身份运算符

运算符描述(身份运算符用于比较两个对象的存储单元)实例( id() 函数用于获取对象内存地址 )
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

16001820208

16001955984

16002335775

16002610882

对象的三个特征 id、value、type 对应的判断方式 is、== 、isinstance

位运算符

按位运算符是把数字看作二进制来进行计算的。

下表中变量 a 为 60,b 为 13,二进制格式如下:

  a = 0011 1100
  b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
 ~a = 1100 0011
运算符描述实例
&按位与:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<<左移动:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数a >> 2 输出结果 15 ,二进制解释: 0000 1111

表达式

表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列

表达式优先级

运算符说明Python运算符优先级结合性优先级顺序
小括号( )19最高
索引运算符x[i] 或 x[i1: i2 [:i3]]18
属性访问x.attribute17
乘方**16
按位取反~15
符号运算符+(正号)、-(负号)14
乘除*、/、//、%13
加减+、-12
位移>>、<<11
按位与&10
按位异或^9
按位或|8
比较运算符==、!=、>、>=、<、<=7
is 运算符is、is not6
in 运算符in、not in5
逻辑非not4
逻辑与and3
逻辑或or2
逗号运算符exp1, exp21最低

23173009654

循环

23173301412

23173605393

23173903036

包 模块 类

23181537159

23181632283

函数

  1. 功能性
  2. 隐藏细节
  3. 避免编写重复的代码

30093843828

30094310373

30094456798

30094840203

30095035986

30095010520

序列解包

30095321266

30095440758

30095524888

参数

  • 必须参数
  • 关键字参数
  • 默认参数

30095808921

30100045708

30100101378

30100304817

面向对象

构造函数

python 会在初始化对象的时候自动调用构造函数

30102559325

30102657721

30100905522

30112018943

30112846142

类方法

30113137857

静态方法

30114012620

私有方法

双下划线开头 但是不要以双下划线结尾!!!

30114900520

30115804020

30120028001

继承

30122219006

文章来源于自己总结和网络转载,内容如有任何问题,请大佬斧正!联系我