初识 Python

1. 初识 Python

Python 简介

Python是由荷兰人吉多·范罗苏姆(Guido von Rossum)发明的一种编程语言,是目前世界上最受欢迎和拥有最多用户群体的编程语言。

Python 历史
  1. 1989年圣诞节:Guido开始写Python语言的编译器。
  2. 1991年2月:第一个Python解释器诞生,它是用C语言实现的,可以调用C语言的库函数。
  3. 1994年1月:Python 1.0正式发布。
  4. 2000年10月:Python 2.0发布,Python的整个开发过程更加透明,生态圈开始慢慢形成。
  5. 2008年12月:Python 3.0发布,引入了诸多现代编程语言的新特性,但并不完全兼容之前的Python代码。
  6. 2020年1月:在Python 2和Python 3共存了11年之后,官方停止了对Python 2的更新和维护,希望用户尽快过渡到Python 3。
Python 优缺点

Python的优点很多,简单为大家列出几点。

  1. 简单明确,跟其他很多语言相比,Python更容易上手。
  2. 能用更少的代码做更多的事情,提升开发效率。
  3. 开放源代码,拥有强大的社区和生态圈。
  4. 能够做的事情非常多,有极强的适应性。
  5. 能够在Windows、macOS、Linux等各种系统上运行。

Python最主要的缺点是执行效率低,但是当我们更看重产品的开发效率而不是执行效率的时候,Python就是很好的选择。

Python 应用领域

目前Python在Web服务器应用开发、云基础设施开发、网络数据采集(爬虫)、数据分析、量化交易、机器学习深度学习、自动化测试、自动化运维等领域都有用武之地。

2. 第一个Python程序

什么是Pycharm

Pycharm是一个软件,这个软件拥有很强的的功能,例如编写代码、调试代码、操作数据库等等

我们一般把拥有很多种功能为一身的专门用来学习或者开发程序的软件,称为IDE(集成开发环境)

其官方网站:https://www.jetbrains.com/pycharm/

Python开发环境的搭建

想要学习Python编程语言需要提前准备好用到的各种软件,像Pycharm等,当然除了它之外还可能需要很多其他的软件,例如SublimePython解释器MySQLRedisMongoDB等等

使用Pycharm构建第一个程序
  1. 打开 Pycharm,选择 Create New Project,创建一个新项目
  2. 选择Pure Python表示创建一个纯Python程序项目, Location 表示该项目保存的路径,Interpreter 表示使用的Python解释器版本,最后点击Create 创建项目。
  3. 右击项目,选择New,再选择Python File
  4. 在弹出的对话框中输入的文件名HelloPython,点击OK,表示创建一个Python程序的文本文件,文本文件后缀名默认.py
  5. 输入以下代码,并右击空白处,选择Run运行,表示打印一个字符串"Hello World!"
print('Hello World')
  1. 运行,空白处右击,选择Run

3. 注释

什么是注释

从小我们知道看书时,可以做一些笔记,能够把当时的灵感想法记录下来,以便在以后再次阅读时快速想起来

同样,Python编程语言是由英文编写的,很多时候怕忘记这些代码的作用以及注意点等,也需要写一点“笔记”,此时这些帮助我们的信息就成为“注释”

注释的作用

通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性

注释的分类

单行注释

#开头,#右边的所有的内容当做说明,起辅助说明作用

# 我是一个注释
print('Hello')  # 我是单行注释 在代码右侧从 # 开始都不当做程序,只能当做说明

多行注释

"""
在三引号中的注释被称之为多行注释
可以写很多行的功能说明
"""

4. 交互模式

引入

前面我们通过Pycharm这款IDE软件,能够编写代码还能够运行代码,感觉非常的好,用起来也很舒服简单

但有很多时候我们想快速的运行一个Python的小段代码,此时如果还是通过Pycharm那种创建项目–>写代码–>运行代码的方式有些繁琐

此时改怎样办呢?

答:Python的交互模式

Python 交互模式

所谓的交互模式,说的直白点,就是通过终端你输入一点代码,Python解释器运行一点代码的方式

怎样开启

步骤1:打开终端

步骤2:输入python(注意全是小写字母),然后回车

怎样使用

在按照上述步骤开起来Python交互模式之后,就可以直接输入想要的代码

print('hello world')

输入完代码后,按下回车,即可看到更过语句执行的结果

hello

5. 变量与常量

引入

程序中肯定需要用到各种数据,例如我们的工资要计算个人所得税,此时就用到各种数学的公式进行计算,从而得出个税;再例如想要计算圆的面积,就需要用到圆周率π

程序中有2种"量",一种是可以变的,一种是不能变的,我们将它们成为变量、常量

常量的定义与作用

那么什么是常量呢?

固定不变的量,就是常量

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甚至是其它的类型都行

变量:就是一个可以存储数据的空间

6. 数据类型

引入

在数学中我们知道有整数、小数、复数等,简言之数据是有类型之分的

同样,在Python编程语言中,数据也是有类型的

数据为什么要分类型

举个例子:从药店购买的眼药水与我们从商店购买的矿泉水,瓶子的大小为什么不一样大呢?

说到底不就是为了节省空间嘛,试想如果用矿泉水瓶来存储那么少的眼药水虽然是可以的,但会造成极大的浪费

因此,设计程序时要充分考虑既能存的下这个数据,而且还要尽可能小的内存空间,此时也就诞生了不同的数据类型

数据类型的分类

为了更充分的利用内存空间以及更有效率的管理内存,数据是有不同的类型的

  • Numbers(数字)

    • int(有符号整型)
    • long(长整型[可以代表八进制与十六进制])
    • float(浮点型)
    • complex(复数)
  • 布尔类型

    • True
    • False
  • String(字符串)

  • List(列表)

  • Tuple(元组)

  • Ductionary(字典)

  • 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即字符串型

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

  • 驼峰命名法

    1. 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myNameaDog
    2. 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstNameLastName
  • 下划线命名法

    _来连接所有的单词,比如send_msg

注意

  • Python中变量名、函数名都使用下划线命名法
  • Python中类名用大驼峰命名法
  • 全局变量用全部是大写,且单词之间用下划线链接的方式,例如SUM_SCORE
关键字

什么是关键字?

上面的知识我们知道了什么是标识符,标识符分为2部分

  • 一部分是Python系统自己用了,用来实现某些特殊功能,像if
  • 另外一部分是留给开发者自己用,像我们定义的年龄age

总结来说:Python一些具有特殊功能的标识符,这就是所谓的关键字

注意:

  • 关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
关键字有哪些?
False, None, True, and, as, assert, async, await, break, class, continue, def, del
elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal
not, or, pass, raise, return, try, while, with, yield

可以在Python交互模式中通过以下命令进行查看关键字

>>> import keyword
>>> keyword.kwlist

关键字的学习以及使用,咱们会在后面的课程中依一一进行学习。

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
格式化输出

格式化输出存在的意义是什么?

假如有以下代码:

pirnt("我今年10岁")
pirnt("我今年11岁")
pirnt("我今年12岁")
    ...

想一想:在输出年龄的时候,用了多次"我今年xx岁",能否简化一下程序呢???

答:字符串格式化

什么是格式化输出?

看如下代码:

age = 10
print("我今年%d岁" % age)

age += 1
print("我今年%d岁" % age)

age += 1
print("我今年%d岁" % age)

...

在程序中,看到了%这样的操作符,这就是Python中格式化输出。

age = 18
name = "python"
email = "[email protected]"
print("我的姓名是%s, 年龄是%d, 邮箱地址是%s" % (name, age, email))
常用的格式符号

下面是完整的,它可以与符号使用列表:

格式符号 转换
%c 字符
%s 字符串
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母0x
%X 十六进制整数(大写字母0X
%f 浮点数
%e 科学计数法(小写'e'
%E 科学计数法(大写“E”
%g %f%e 的简写
%G %f%E的简写

有这么多格式,用哪个好呢?

说实话,常用的也就是%d输出整数,%f输出浮点数,%s输出字符串,其他的用的很少

转义字符

什么是转义字符?

运行如下代码,看看结果是什么:

print("abcnABC");
print("abc\nABC");

输出结果是:

abcnABC
abc
ABC

仔细观察会发现,第2个打印中的字母n没有输出,而第1个的打印有字母n,为什么?

答:有些特殊的字母像n,如果在前面加上了一个反斜杠\,那么此时\n就有特殊功能了”换行“

除了\n表示换行以外,常用的还有\t表示一个tab键的间距。

print("abc\tABC")

输出的效果:

abc    ABC
小练习

编写代码完成以下名片的显示:

==========我的名片==========
姓名: python
email: [email protected]
QQ:xxxxxxx
手机号:173xxxxxx
公司地址:湖北省长沙市xxxx
===========================

9. 输入

引入

在银行ATM机器前取钱时,肯定需要输入密码,对不?那么怎样才能让程序知道咱们刚刚输入的是什么呢??

大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用一个变量来保存,最后根据这个变量保存的值进行密码校验

input 的使用

在Python中,获取键盘输入的数据的方法是采用 input 函数(至于什么是函数,咱们以后的章节中讲解)

使用示例如下:

password = input("请输入密码:")
print('您刚刚输入的密码是:%s' % password)

注意:

  • input()的小括号中放入的是提示信息,用来在获取数据之前给用户的一个简单提示
  • input()在从键盘获取了数据以后,会存放到等号右边的变量中
  • input()会把用户输入的任何值都作为字符串来对待
获取多个数据

如果一个程序需要获取多个数据,例如想要获取用户名以及密码,那么此时就要用2个input

示例如下:

name = input("请输入用户名:")
password = input("请输入密码:")

print("您的用户名是:%s" % name)
print("您的密码是:%s" % password)

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**323次方, 输出结果 8

注意:

  • 混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。
  • 不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
>>> 10 + 5.5 * 2
21.0
>>> 10 + (5.5 * 2)
21.0
赋值运算符
运算符 描述 实例
= 赋值运算符 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3,结果num的值为7
# 单个变量赋值
>>> num = 10
>>> num
10

# 多个变量赋值
>>> num1, num2, f1, str1 = 100, 200, 3.14, "hello"
>>> num1
100
>>> num2
200
>>> f1
3.14
>>> str1
"hello"
复合赋值运算符
运算符 描述 实例
+= 加法赋值运算符 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

你可能感兴趣的:(python,开发语言)