三天两后晌入门Python(一)

1、Python背景

Python是一种通用的解释,交互式,面向对象和高级编程语言。它是由Guido van Rossum在1985 - 1990年创建的。像Perl一样,Python源代码也可以在GNU通用公共许可证(GPL)下获得。

Python 3.0在2008年发布。虽然这个版本应该是不向后兼容的,但后来许多重要的功能已经被反映到兼容版本2.7中,本教程中是以Python 3版本来学习和演示Python编程。

Python的官方网站是:http://www.python.org/ ,可以从官方上找到大部分有关Python编程语言的相关资料,如:各种版本的安装包下载,文档,最新的Python资讯,社区以及教程等等。

2、Python简介

Python是面向对象,高级语言,解释,动态和多用途编程语言。Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力。

Python的语法和动态类型具有其解释性质,使其成为许多领域的脚本编写和快速应用程序开发的理想语言。

Python支持多种编程模式,包括面向对象编程,命令式和函数式编程或过程式编程。

Python几乎无所不能,一些常用的开发领域,如Web编程。这就是为什么它被称为多用途,因为它可以用于网络,企业,3D CAD等软件和系统开发。

在Python中,不需要使用数据类型来声明变量,因为它是动态类型的。

Python使开发和调试快速,因为在python开发中没有包含编译步骤,并且编辑 -> 测试 -> 调试循环使用代码开发效率非常高。

Python是一种高级,解释,交互和面向对象的脚本语言。 Python被设计为高度可读性。 它使用英语关键字,而其他语言使用标点符号。它的语法结构比其他语言少。

  • Python是解释型语言 - Python代码在解释器中运行时处理,执行前不需要编译程序。 这与PERL和PHP类似。
  • Python是交动的 - 在Python提示符下面直接和解释器进行交互来编写程序。
  • Python是面向对象的 - Python支持面向对象的风格或编程技术,将代码封装在对象内。
  • Python是一门初学者的语言 - Python是初学者程序员的伟大语言,并支持从简单的文本处理到浏览器到游戏的各种应用程序的开发。

3、程序文件结构

模块、语句、表达式、对象

程序有模块构成

模块包含语句

语句包含表达式

表达式建立并处理对象

4、安装

安装最新版本Python

安装集成工具,如:PyCharm

5、变量

在Python中,变量不需要明确的声明类型来保留内存空间。当向变量分配值时,Python会自动发出声明。 等号(=)用于为变量赋值。

Python允许同时为多个变量分配单个值。

例如

a = b = c = 1

这里,创建一个整数对象,其值为1,并且所有三个变量都分配给相同的内存位置。还可以将多个对象分配给多个变量。 例如 -

a, b, c = 10, 20, "maxsu"

这里,将两个值为10和20的整数对象分别分配给变量a和b,并将一个值为"maxsu"的字符串对象分配给变量c。

1.Python数字

Python支持三种不同的数值类型 -

  • int(有符号整数)
  • float(浮点实值)
  • complex(复数)

Python3中的所有整数都表示为长整数。 因此,长整数没有单独的数字类型。

复数是由x + yj表示的有序对的实数浮点数组成,其中x和y是实数,j是虚数单位。

2.Python字符串

Python中的字符串被标识为在引号中表示的连续字符集。Python允许双引号或双引号。 可以使用片段运算符([]和[:])来获取字符串的子集(子字符串),其索引从字符串开始处的索引0开始,并且以-1表示字符串中的最后一个字符。

加号(+)是字符串连接运算符,星号(*)是重复运算符。

3.Python列表

列表是Python复合数据类型中最多功能的。 一个列表包含用逗号分隔并括在方括号([])中的项目。在某种程度上,列表类似于C语言中的数组。它们之间的区别之一是Python列表的所有项可以是不同的数据类型,而C语言中的数组只能是同种类型。

存储在列表中的值可以使用切片运算符([]和[])来访问,索引从列表开头的0开始,并且以-1表示列表中的最后一个项目。 加号(+)是列表连接运算符,星号(*)是重复运算符。

4.Python元组

元组是与列表非常类似的另一个序列数据类型。元组是由多个值以逗号分隔。然而,与列表不同,元组被括在小括号内(())。

列表和元组之间的主要区别是 - 列表括在括号([])中,列表中的元素和大小可以更改,而元组括在括号(())中,无法更新。元组可以被认为是 只读 列表。

5.Python字典

Python的字典是一种哈希表类型。它们像Perl中发现的关联数组或散列一样工作,由键值对组成。字典键几乎可以是任何Python数据类型,但通常为了方便使用数字或字符串。另一方面,值可以是任意任意的Python对象。

字典由大括号({})括起来,可以使用方括号([])分配和访问值。如:

dict={}dict['one']="This is one"dict[2]="This is my"tinydict ={'name':'maxsu','code':1024,'dept':'IT Dev'}

数据类型转换

有时,可能需要在内置类型之间执行转换。要在类型之间进行转换,只需使用类型名称作为函数即可。

有以下几种内置函数用于执行从一种数据类型到另一种数据类型的转换。这些函数返回一个表示转换值的新对象。它们分别如下所示 -

编号 函数 描述
1 int(x [,base]) 将x转换为整数。如果x是字符串,则要base指定基数。
2 float(x) 将x转换为浮点数。
3 complex(real [,imag]) 创建一个复数。
4 str(x) 将对象x转换为字符串表示形式。
5 repr(x) 将对象x转换为表达式字符串。
6 eval(str) 评估求值一个字符串并返回一个对象。
7 tuple(s) 将s转换为元组。
8 list(s) 将s转换为列表。
9 set(s) 将s转换为集合。
10 dict(d) 创建一个字典,d必须是(key,value)元组的序列
11 frozenset(s) 将s转换为冻结集
12 chr(x) 将整数x转换为字符
13 unichr(x) 将整数x转换为Unicode字符。
14 ord(x) 将单个字符x转换为其整数值。
15 hex(x) 将整数x转换为十六进制字符串。
16 oct(x) 将整数x转换为八进制字符串。

6、变量命名惯例

1)以单一下划线开头的变量名_X不会被from module import * 语句导入

2)前后有下划线的__X__ 是系统定义的变量名

3)以两个下划线的__X是类的本地变量

7、组合数据类型

1)序列

列表[],如['a','b','cc','ddd],可变对象

元组(),如('a','bb','ccc'),不可变对象

2)集合

3)映射:字典

8、Python基本运算符

Python语言支持以下类型的运算符 -

  • 1.算术运算符
  • 2.比较(关系)运算符
  • 3.赋值运算符
  • 4.逻辑运算符
  • 5.按位运算符
  • 6.成员运算符
  • 7.身份运算符

1.算术运算符

假设变量a的值是10,变量b的值是21,则 :

运算符 描述 示例
+ 加法运算,将运算符两边的操作数增加。 a + b = 31
- 减法运算,将运算符左边的操作数减去右边的操作数。 a – b = -11
* 乘法运算,将运算符两边的操作数相乘 a * b = 210
/ 除法运算,用右操作数除左操作数 b / a = 2.1
% 模运算,用右操作数除数左操作数并返回余数 b % a = 1
** 对运算符进行指数(幂)计算 a ** b,表示10的21次幂
// 地板除 - 操作数的除法,其结果是删除小数点后的商数。 但如果其中一个操作数为负数,则结果将被保留,即从零(向负无穷大)舍去 9//2 = 4 , 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

2.比较(关系)运算符

比较(关系)运算符比较它们两边的值,并确定它们之间的关系。它们也称为关系运算符。假设变量a的值10,变量b的值是20,则 -

运算符 描述 示例
== 如果两个操作数的值相等,则条件为真。 (a == b)求值结果为 false
!= 如果两个操作数的值不相等,则条件为真。 (a != b)求值结果为 true
> 如果左操作数的值大于右操作数的值,则条件成为真。 (a > b)求值结果为 false
< 如果左操作数的值小于右操作数的值,则条件成为真。 (a < b)求值结果为 true
>= 如果左操作数的值大于或等于右操作数的值,则条件成为真。 (a >= b)求值结果为 false
<= 如果左操作数的值小于或等于右操作数的值,则条件成为真。 (a <= b)求值结果为 true

3.赋值运算符

假设变量a的值10,变量b的值是20,则 -

运算符 描述 示例
= 将右侧操作数的值分配给左侧操作数 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

4.逻辑运算符

Python语言支持以下逻辑运算符。假设变量a的值为True,变量b的值为False,那么 -

运算符 描述 示例
and 如果两个操作数都为真,则条件成立。 (a and b)的结果为False
or 如果两个操作数中的任何一个非零,则条件成为真。 (a or b)的结果为True
not 用于反转操作数的逻辑状态。 not(a and b) 的结果为True。

5.按位运算符

按位运算符执行逐位运算。 假设变量a = 60; 和变量b = 13; 现在以二进制格式,它们将如下 -

a = 0011 1100b = 0000 1101—————–a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a = 1100 0011

Shell

Python的内置函数bin()可用于获取整数的二进制表示形式。

以下是Python语言支持位运算操作符 -

运算符 描述 示例
& 如果它存在于两个操作数中,则操作符复制位到结果中 (a & b) 结果表示为 0000 1100
如果它存在于任一操作数,则复制位。
^ 二进制异或。如果它是一个操作数集合,但不是同时是两个操作数则将复制位。 (a ^ b) = 49 (结果表示为 0011 0001)
~ 二进制补码,它是一元的,具有"翻转"的效果。 (~a ) = -61有符号的二进制数,表示为1100 0011的补码形式。
<< 二进制左移,左操作数的值由右操作数指定的位数左移。 a << 2 = 240 (结果表示为 1111 0000)
>> 二进制右移,左操作数的值由右操作数指定的位数右移。 a >> 2 = 15(结果表示为0000 1111)

6.成员运算符

Python成员运算符测试给定值是否为序列中的成员,例如字符串,列表或元组。 有两个成员运算符,如下所述 -

运算符 描述 示例
in 如果在指定的序列中找到一个变量的值,则返回true,否则返回false。 -
not in 如果在指定序列中找不到变量的值,则返回true,否则返回false。 -

7.身份运算符

身份运算符比较两个对象的内存位置。常用的有两个身份运算符,如下所述 -

运算符 描述 示例
is 如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False。
is not 如果运算符任一侧的变量指向相同的对象,则返回True,否则返回False。 -

8. 运算符优先级

下表列出了从最高优先级到最低优先级的所有运算符,如下所示 -

序号 运算符 描述
1 ** 指数(次幂)运算
2 ~ + - 补码,一元加减(最后两个的方法名称是+@和-@)
3 * / % // 乘法,除法,模数和地板除
4 + -
5 >> << 向右和向左位移
6 & 按位与
7 ^ 按位异或和常规的"OR"
8 <= < > >= 比较运算符
9 <> == != 等于运算符
10 = %= /= //= -= += *= **= 赋值运算符
11 is is not 身份运算符
12 in not in 成员运算符
13 not or and 逻辑运算符

三天两后晌入门Python(一)
https://leehoward.cn/2019/10/17/三天两后晌入门Python(一)/
作者
lihao
发布于
2019年10月17日
许可协议