Python学习手册 [ 1 ]:写在前面

一.Python基本介绍

Python是一门通用型的编程语言,逐渐受到越来越多人的追捧。一言以蔽之,Python是一种解释性、面向对象的语言;具体点说,Python是一门融合了面向过程、函数式和面向对象编程范式的多目标语言。

1.Python的特点

可读性强;简洁简洁;面向对象;免费和开源;可移植性和跨平台;丰富的库;可拓展性。

2.应用范围

1.科学计算2.人工智能3.WEB服务端和大型网站后端4.GUI开发(用户图形界面开发)5.游戏开发6.移动设备7.嵌入式设备8.系统运维9.大数据10.云计算

3.Python的缺点

Python是解释执行,性能较低,因此,影响性能的功能可以使用C/C++/JAVA/GO等语言去开发。

4.版本和兼容性问题

Python 2:2000年10月发布,最新版本是2.7,已停止更新
Python 3:2008年发布,对比Python 2有较大提升,不兼容Python2
兼容性问题的解决:Python 3 的许多新特性也被移植到了Python2.7作为过渡,如果程序可以在2.7版本上运行,可以通过2to3(Python自带的脚本)的转换工具无缝迁移到Python3

二.Python解释器简介

解释器是一种能让其他程序运行起来的程序。当你编写一段Python程序,Python解释器将读取程序,并按照其中的命令执行,得出结果。实际上,解释器就是代码与机器的计算机硬件之间的软件逻辑层。
Python程序的执行依赖于Python解释器,常见的Python解释器有: PyPy,CPython,Jython,IronPython,Stackless等;

1.Python下载与安装(解释器)

  • 进入官网:https://www.python.org/downloads/
  • 下载Python包
    图2-1		Python下载界面
  • 安装python:与安装一般软件差别不大,不再赘述
  • 环境变量问题
    勾选“Add Python to environment variable”,这样就可以将Python添加到环境变量Path中,我们在windows的命令行模式下运行Python解释器。
    图2-2		Python安装示意图
    图2-3		安装成功示意图

2.交互式命令行模式

  • 交互式运行代码
    图2-4		交互式运行代码示意图
  • 交互式运行脚本文件:脚本文件以.py后缀结尾
    图2-5		运行以.py结尾的脚本文件示意图以及将运行结果存放在txt文件中示意图
  • 运行脚本文件并将其结果存储在txt文件中(代码如上,运行结果如下)
    图2-6		将结果存储在txt文件中示意图

3.导入和重载

每个以拓展名.py结尾的Python源文件都是一个模块,其他文件可以通过导入一个模块读取这个模块定义的内容——导入操作从本质上来说就是载入另一个文件,并给予读取这个文件内容的权限。
默认情况下,在交互对话中,每个模块的的导入只会运行一次。要想在同一次对话中再次运行这个文件,而不停止和重新启动对话,需要调用imp 标准库模块中可用的reload函数。(此函数在Python2中内置,在Python3中不内置)
图2-7		导入与重载示意图

4.获取模块的属性

可以通过两种不同的方式来从其他组件中获取模块的属性
图2-8		获取模块的属性示意图

5.使用exec运行模块文件

这种方法也可以实现运行模块文件中保存的代码
图2-9		exec使用示意图

三.程序设计基本格式

1.恰当的空格,缩进问题

  • 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
  • 语句从新行的第一列开始。
  • 缩进风格统一:
    ① 每个缩进层次使用单个制表符或者四个空格(IDE)会自动将制表符设置成4个空格)
    ② Python用缩进而不是{}表示程序块
    [缩进的报错提醒: IndentationError: unexpected indent ]

2.Python区分大小写

Python语言区分大小写,如:User_Name和user_name代表不同的变量名

3.注释

1.行注释
每行注释前加#号。当解释器看到#,则忽略这一行#后面的内容。注释可以用ctrl+/快捷键。
2.段注释
使用三个连续单引号(’’’),当解释器看到’’’,则会扫描下一个’’’,然后忽略他们之间的内容。

四.变量和数据类型

1.什么是变量

变量是一段有名字的连续存储的空间,我们可以通过定义变量来申请并命名这样的存储空间,并通过变量的名称来使用这段存储空间。

2.变量的创建

一个变量(即变量名),当代码第一次给它赋值时就创建了它。之后的赋值将改变这个变量名的值。可以理解为最初的赋值操作在创建变量。

3.变量类型

变量永远不会拥有和它关联的类型信息或约束。类型的概念存在于对象而不是变量名中。变量原本是相通的,只是在特定的一个时间点,简单地引用了一个特定的对象而已。

4.变量使用

当变量出现在表达式中时,它会马上被当前引用的对象所替代,无论这个对象是什么类型。此外,所有的变量必须在使用前被明确地赋值,使用未赋值的变量会产生错误。

5.查看变量当前引用的对象的数据类型

使用type函数,type(变量);
如:

a=10
print(type(a))

6.变量的命名规则

  • 变量必须以字母(a—z,A—Z)或者是下划线(_)开头。
  • 其他字符可以是字母、数字或者下划线。
  • 变量区分大小写。
  • python 关键字不能作为变量名。
    图3-1		Python关键字
    [补充]:以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
    以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。
    Python 可以同一行显示多条语句,方法是用分号 ‘; ’分开。

7.命名规范

  • 见名知意,如:password作为密码。
  • 小驼峰命名法,如:userName作为用户名。
  • 大驼峰命名法,如:UserName作为用户名。
  • 下划线命名法,如:user_name作为用户名。

五.运算符

这里以a=10,b=20为例。

1.算数运算符

运算符描述
+加:两个对象相加
-减:得到负数或是一个数减去另一个数
*乘:两个数相乘或是返回一个被重复若干次的字符串
/除:x除以y
%取模:返回除法的余数
**幂:返回x的y次幂
//取整除:返回商的整数部分(向下取整)

代码示例如下:

a=10
b=20
print('a+b=',a+b)
print('a-b=',a-b)
print('a*b=',a*b)
print('a/b=',a/b)
print('a%b=',a%b)
print('a**b=',a**b)
print('a//b=',a//b)
运行结果如下:
a+b= 30
a-b= -10
a*b= 200
a/b= 0.5
a%b= 10
a**b= 100000000000000000000
a//b= 0

2.比较运算符

所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。

运算符描述
==等于:比较对象是否相等
!=不等于:比较两个对象是否不相等
<>不等于:比较两个对象是否不相等。python3 已废弃
>大于:返回x是否大于y
<小于:返回x是否小于y
>=大于等于:返回x是否大于等于y
<=小于等于:返回x是否小于等于y

代码示例如下:

a=10
b=20
print('a==b的值',a==b)
print('a!=b的值',a!=b)
# python3 已废弃<>运算符
# print('a<>b的值',a<>b)
print('a>b的值',a>b)
print('a<b的值',a<b)
print('a>=b的值',a>=b)
print('a<=b的值',a<=b)
运行结果如下:
a==b的值 False
a!=b的值 True
a>b的值 False
a<b的值 True
a>=b的值 False
a<=b的值 True

3.赋值运算符

赋值运算符和C语言中相同,s[str]=x等价于s=s[str]x。这里的str代表+、-、*、/、%、**、//等符号。其中,允许x,y=10,20这种赋值方式。

运算符描述
=简单的赋值运算符
+=加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
%=取模赋值运算符
**=幂赋值运算符
//=取整除赋值运算符

4.位运算符

位运算符首先将变量转换为2进制,然后进行相关位操作,返回结果是已经转换为10进制的数值。

运算符描述
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

代码示例如下:

a=10
b=20
print('a&b=',a&b)
print('a|b=',a|b)
print('a^b=',a^b)
print('~a=',~a)
print('a<<2=',a<<2)
print('a>>2=',a>>2)
运行结果如下:
a&b= 0
a|b= 30
a^b= 30
~a= -11
a<<2= 40
a>>2= 2

[补充]:由于负数在计算机中是以补码的形式存在的,所以负数进行位运算时,需要先将其转换为补码形式,然后再进行位运算符,最后输出10进制结果。

5.逻辑运算符

运算符逻辑表达式描述
andx and y布尔"与" :如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(除非x为0,返回0[false],否则返回y的值)
orx or y布尔"或" :如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(除非x为0,返回y的值,否则返回x的值)
notx not y布尔"非" :如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

6.成员运算符

Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

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

7.身份运算符

身份运算符用于比较两个对象的存储单元是否引用同一个对象

运算符描述
isis 是判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False。类似于id(x) == id(y)
is notis not 是判断两个标识符是不是引用自不同对象,如果引用的是不同对象则返回 True,否则返回 False。类似于id(x) != id(y)

8.运算符优先级比较

运算符说明
**指数 (最高优先级)
~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //乘,除,取模和取整除
+ -加法、减法
>> <<右移,左移运算符
&位 ‘AND’
^ |位运算符
<= < > >=比较运算符
<> == !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符

六.python的输入与输出

1.格式化输出

  • Python有一个简单的格式化方法,使用%占位符,%后面的跟的是变量的数据类型。
    代码示例如下:
a=10
c='niro'
print('我今年%d岁了,我的名字是%s!'%(a,c))
运行结果如下:
我今年10岁了,我的名字是niro!
  • 格式化输出的另外一种形式,.format()。它可以通过编号来更改顺序。
    代码示例如下:
a=10
c='niro'
print('我今年{1}岁了,我的名字是{0}!'.format(c,a))
运行结果如下:
我今年10岁了,我的名字是niro!

2.输入

Python提供了input的方式进行获取键盘输入(input获取的输入都是str类型的,如果需要输入数字型,需要进行类型转换)

代码示例如下:

# 通过input函数进行输入,字符串参数为输入提示
a=input('请输入a:')
# 使用input输入的内容都是字符串类型
print(a,type(a))
# 强制类型转换为int型,数字10代表10进制
b=int(a,10)
print(b,type(b))
运行结果如下:
请输入a:10
10 <class 'str'>
10 <class 'int'>

【参考书目】:《Python学习手册》(第5版)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值