1. 基础知识
- python概述
- 第一个python程序
- 注释
- 交互模式
- 常量与变量
- 输出
- 输入
- 运算符
1.1 初识 Python
Python 简介
Python是由荷兰人吉多·范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。
Python 历史
- 1989年圣诞节:Guido开始写Python语言的编译器。
- 1991年2月:第一个Python解释器诞生,它是用C语言实现的,可以调用C语言的库函数。
- 1994年1月:Python 1.0正式发布。
- 2000年10月:Python 2.0发布,Python的整个开发过程更加透明,生态圈开始慢慢形成。
- 2008年12月:Python 3.0发布,引入了诸多现代编程语言的新特性,但并不完全兼容之前的Python代码。
- 2020年1月:在Python 2和Python 3共存了11年之后,官方停止了对Python 2的更新和维护,希望用户尽快过渡到Python 3。
Python 优缺点
- Python的优点很多,简单为大家列出几点。
- 简单明确,跟其他很多语言相比,Python更容易上手。
- 能用更少的代码做更多的事情,提升开发效率。
- 开放源代码,拥有强大的社区和生态圈。
- 能够做的事情非常多,有极强的适应性。
- 能够在Windows、macOS、Linux等各种系统上运行。
- Python最主要的缺点是执行效率低,但是当我们更看重产品的开发效率而不是执行效率的时候,Python就是很好的选择。
Python 应用领域
- 目前Python在Web服务器应用开发、云基础设施开发、网络数据采集(爬虫)、数据分析、量化交易、机器学习、深度学习、自动化测试、自动化运维等领域都有用武之地。
1.2 第一个Python程序
什么是Pycharm
- Pycharm是一个软件,这个软件拥有很强的的功能,例如编写代码、调试代码、操作数据库等等 我们一般把拥有很多种功能为一身的专门用来学习或者开发程序的软件,称为IDE(集成开发环境) 其官方网站:www.jetbrains.com/pycharm/
Python开发环境的搭建
- 想要学习Python编程语言需要提前准备好用到的各种软件,像Pycharm等,当然除了它之外还可能需要很多其他的软件,例如Sublime、Python解释器、MySQL、Redis、MongoDB等等
使用Pycharm构建第一个程序
- 打开 Pycharm,选择 Create New Project,创建一个新项目
- 选择Pure Python表示创建一个纯Python程序项目, Location 表示该项目保存的路径,Interpreter 表示使用的Python解释器版本,最后点击Create 创建项目。
- 右击项目,选择New,再选择Python File
- 在弹出的对话框中输入的文件名HelloPython,点击OK,表示创建一个Python程序的文本文件,文本文件后缀名默认.py
- 输入以下代码,并右击空白处,选择Run运行,表示打印一个字符串"Hello World!"
print('Hello World')
- 运行,空白处右击,选择Run
1.3 注释
什么是注释
- Python编程语言是由英文编写的,很多时候怕忘记这些代码的作用以及注意点等,此时这些帮助我们的信息就成为“注释”
注释的作用
- 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性 注释的分类
单行注释
- 以#开头,#右边的所有的内容当做说明,起辅助说明作用
# 我是一个注释
print('Hello') # 我是单行注释 在代码右侧从 # 开始都不当做程序,只能当做说明
多行注释
"""
在三引号中的注释被称之为多行注释
可以写很多行的功能说明
"""
1.4 交互模式
Python 交互模式
所谓的交互模式,说的直白点,就是通过终端你输入一点代码,Python解释器运行一点代码的方式
怎样开启
- 步骤1:打开终端
- 步骤2:输入python(注意全是小写字母),然后回车 怎样使用 在按照上述步骤开起来Python交互模式之后,就可以直接输入想要的代码
print('hello world')
输入完代码后,按下回车,即可看到更过语句执行的结果
hello
1.5 常量与变量
常量的定义与作用
- 那么什么是常量呢?
- 固定不变的量,就是常量
6699 # 6699就是一个常量
print(100) # 这个100就是常量
print(3.1415926) # 3.1415926也是一个常量
常量有什么作用?
print(100 + 200 + 300)
print(3.14*10*10) # 计算半径为10的 圆的面积
变量的定义与作用
什么是变量?
一个可以变化的量,就是变量
num1 = 100 # num1就是一个变量
num2 = 87 # num2也是一个变量
pi = 3.14 # pi也是一个变量
变量的作用:可以存储数据
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
如果在程序中需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:
num1 = 100
num2 = 200
result = num1 + num2 # 将变量num1中的值 加上 num2中的值再给result变量
程序就是用来处理数据的,而变量就是用来存储数据的
常量与变量的区别
常量:就是一个值,至于这个值是整数100,还是小数3.14甚至是其它的类型都行
变量:就是一个可以存储数据的空间
1.6 数据类型
数据类型的分类
为了更充分的利用内存空间以及更有效率的管理内存,数据是有不同的类型的。
- Numbers(数字)
- int(有符号整型)
- long(长整型[可以代表八进制与十六进制])
- float(浮点型)
- complex(复数)
- Bool(布尔类型 )
- True
- False
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- Set(集合)
怎样知道一个数据的类型呢?例如数字100是什么类型。
在python中,只要有数据,那么一定有它的数据类型,可以使用type(常量或者变量),来查看数据类型。
print(type(100)) # 先用type检查100的类型,然后用print输出这个信息
print(type(3.14))
print(type("hello world"))
运行结果:
<class 'int'>
<class 'float'>
<class 'str'>
这说明:
- 数值100的类型是int即整型
- 数值3.14的类型是float即浮点型
- 数值"hello world"的类型是str即字符串型
1.7 标识符与关键字
标识符
什么是标识符?
在程序中定义的一些符号和名称
请看如下代码:
age = 18
在上述变量定义时,age就是变量的名字,实际上它就是标识符,如果在程序中需要获取18,那么就使用age这个标识符就可以了
因此,标识符到底有什么用?估计也有了答案
答:标识符是自己定义的符号,例如变量名 、函数名、类名等,可以快速找到我们用的数据或者功能。
标识符的规则
标识符由字母、下划线和数字组成,且数字不能开头
思考:下面的标识符哪些是正确的,哪些不正确,为什么?
fromNo12
from#12
my_Boolean
my-Boolean
Obj2
2ndObj
myInt
test1
Mike2jack
My_tExt
_test
test!32
haha(da)tt
int
jack_rose
jack&rose
GUI
G.U.I
Python中的标识符是区分大小写的!!!
命名规则
- 见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name, 定义学生 用student
- 驼峰命名法
-
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
-
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
- 下划线命名法:用_来连接所有的单词,比如send_msg
注意
- Python中变量名、函数名都使用下划线命名法
- Python中类名用大驼峰命名法
- 全局变量用全部是大写,且单词之间用下划线链接的方式,例如SUM_SCORE
关键字
什么是关键字?
上面的知识我们知道了什么是标识符,标识符分为2部分
- 一部分是Python系统自己用了,用来实现某些特殊功能,像if
- 另外一部分是留给开发者自己用,像我们定义的年龄age
总结来说:Python一些具有特殊功能的标识符,这就是所谓的关键字
注意:
关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
关键字有哪些?
可以在Python交互模式中通过以下命令进行查看关键字
1.8 输出
print 的使用
在Python中,如果我们需要打印出一些数据以便能够知道数据的大少,此时用print即可,会在终端中打印出对应的数据
简单用法
输出变量的值
print(变量名) # 直接将已经定义的变量名方到()中即可
age = 18
print(age)
输出常量
print(常量) # 可以直接将常量放到()中
print(100)
输出表达式的结果
print(表达式) # 直接将表达式放到()中
print(100+200+300) # 此时输出的是表达式计算的结果即600,而不是100+200+300
# 如果就是想要输出100+200+300而不是600,可以将它们用双引号包裹起来,表位字符串
print("100+200+300")
进阶用法
如果想要一次性输出多个数据,可以用英文逗号,进行间隔
print(100, 200, 300) # 此时会输出 100 200 300
print("hello", 200, "abc") # 此时会输出 hello 200 abc
print(100+200+300, 500) # 此时会输出 600 500
a = 100
b = 200
c = 300
print(a, b, c) # 此时会输出100 200 300
格式化输出
格式化输出存在的意义是什么?
假如有以下代码:
print("我今年10岁")
print("我今年11岁")
print("我今年12岁")
...
常用的格式符号
下面是完整的,它可以与%符号使用列表:
| 格式符号 | 转换 |
|---|---|
| %c | 字符 |
| %s | 字符串 |
| %d | 有符号十进制整数 |
| %u | 无符号十进制整数 |
| %o | 八进制整数 |
| %x | 十六进制整数(小写字母0x) |
| %X | 十六进制整数(大写字母0X) |
| %f | 浮点数 |
| %e | 科学计数法(小写'e') |
| %E | 科学计数法(大写“E”) |
| %g | %f和%e的简写 |
| %G | %f和%E的简写 |
常用的也就是%d输出整数,%f输出浮点数,%s输出字符串,其他的用的很少
除了\n表示换行以外,常用的还有\t表示一个tab键的间距。
1.9 输入
input 的使用
在Python中,获取键盘输入的数据的方法是采用 input函数(至于什么是函数,咱们以后的章节中讲解)
使用示例如下:
password = input("请输入密码:")
print('您刚刚输入的密码是:%s' % password)
注意:
- input()的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
- input()在从键盘获取了数据以后,会存放到等号右边的变量中
- input()会把用户输入的任何值都作为字符串来对待
获取多个数据
如果一个程序需要获取多个数据,例如想要获取用户名以及密码,那么此时就要用2个input
示例如下:
name = input("请输入用户名:")
password = input("请输入密码:")
print("您的用户名是:%s" % name)
print("您的密码是:%s" % password)
1.10 运算符
运算符,就是在Python编程语言中,能够实现操作的符号,像+能够实现加法,-能够实现减法
Python中的运算符有很多种,
- 算术运算符
- 赋值运算符
- 比较运算符
- 关系运算符
- .....
算数运算符
下面以a=10 ,b=20为例进行计算
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 | 两个对象相加 a + b输出结果30 |
| - | 减 | 得到负数或是一个数减去另一个数a - b 输出结果-10 |
| * | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果200 |
| / | 除 | b / a 输出结果2 |
| // | 取整除 | 返回商的整数部分 9//2 输出结果4 , 9.0//2.0 输出结果4.0 |
| % | 取余 | 返回除法的余数 b % a 输出结果0 |
| ** | 指数 | 2**3 为2的3次方, 输出结果 8 |
注意:
混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。
不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7 |
复合赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| += | 加法赋值运算符 | 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 |