第一章 Python 基础
❝Python 非常适合初学者用来进入计算机编程领域。Python 属于非常高级的语言,掌握了这门高级语言,就对计算机编程的核心思想——抽象有了初步理解。如果希望继续深入学习计算机编程,可以学习 Java、C、JavaScript、Lisp 等不同类型的语言,只有多掌握不同领域的语言,有比较才更有收获。
❞
1.1 环境准备
1.1.1 Python 安装
(1)官网下载 Python
进入官网(https://www.python.org[1]),点击 Downloads,选择要下载的版本:
(2)安装 Python
安装时注意下图勾选部分一定要勾选:
1.1.2 安装代码编辑器 PyCharm
(1)官网下载 PyCharm
进入官网(https://www.jetbrains.com/pycharm[2]),点击 Downloads,选择要下载的版本:
(2)安装 PyCharm
设置安装路径之后,一直点 next 即可。
(3)优化 PyCharm 使用
- PyCharm 优化使用[3]
1.1.3 安装 Jupyter notebook
数据分析,对我来说最好用的还是 Jupyter notebook
- 「Jupyter notebook」 :基于 web 的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。
✨ 使用文档可参考我的笔记:Jupyter - notebook 使用指南[4]
❝观察一段 10 行 Python 代码,感受一下 Python 的风格:
❞
# 温度转换
# TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误!")
☎️ eval()
去掉参数最外侧引号并执行余下语句的函数,称为“评估函数”。
❝程序的基本编写方法:
❞IPO
I
:Input 输入,程序的输入P
:Process 处理,程序的主要逻辑O
:Output 输出,程序的输出
「编程解决问题的步骤」:
- (1)分析问题:分析问题的计算部分,想清楚
- (2)划分边界:划分问题的功能边界,规划 IPO
- (3)设计算法:设计问题的求解算法,关注算法
- (4)编写程序:编写问题的计算程序,编程序
- (5)调试测试:调试程序使正确运行,运行调试
- (6)升级维护:适应问题的升级维护,更新完善
1.2 第一个 Python 程序
1.2.1 HelloWorld
创建第一个项目 HelloWorld --> 创建文件 app.py --> 写入代码:
print("HelloWorld")
效果图:
1.2.2 输入和输出
① 输出
用 print()
在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出 hello, world
,用代码实现如下:
print('hello, world')
print()
函数也可以接受多个字符串,用逗号 “,” 隔开,就可以连成一串输出:
print('The quick brown fox', 'jumps over', 'the lazy dog')
print()
会依次打印每个字符串,遇到逗号 “,” 会输出一个空格,因此,输出的字符串是这样拼起来的:
?> The quick brown fox jumps over the lazy dog
print()
也可以打印整数,或者计算结果:
print(300)
print('100 + 200 = ',100 + 200) # 输出 100 + 200 = 300
!> 注意,对于 100 + 200
,Python 解释器自动计算出结果 300
,但是,'100 + 200 ='
是字符串而非数学公式,Python 把它视为字符串
② 输入
Python 提供了一个 input()
,可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
print('Input your name: ')
name = input()
print('Hello! ',name)
我们也可以直接在 input 中显示一个字符串
name = input('Input your name: ')
print('Hello! ',name)
1.2.3 小结
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是 Input,输出是 Output,因此,我们把输入输出统称为 Input / Output,或者简写为 IO。
input()
和 print()
是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击 “确定” 后在网页上看到输出信息。
1.2.4 实例 1:温度转换
「设计算法」:根据华氏和摄氏温度定义,利用转换公式如下:
其中,C 表示摄氏温度,F 表示华氏温度。
在前面,我给过温度转换的代码,如下:
# TempConvert.py
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误!")
❝? 现在看不懂没关系,有个印象就可以了,学习完下面 Python 基础,再回来瞧瞧就会更清晰啦!
❞
1.3 Python 基础
Python 是一种计算机编程语言。计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成 CPU 能够执行的机器码,然后执行。Python 也不例外。
Python 的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:
# print absolute value of an integer:
a = 100
if a >= 0:
print(a)
else:
print(-a)
以 #
开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:
结尾时,缩进的语句视为代码块。
缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的惯例,「应该始终坚持使用 4 个空格的缩进。」
缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。
缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE 很难像格式化 Java 代码那样格式化 Python 代码。
最后,请务必注意,Python 程序是大小写敏感
的,如果写错了大小写,程序会报错。
1.3.1 数据类型
「数据类型」:供计算机程序理解的数据形式
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在 Python 中,能够直接处理的数据类型有以下几种:
- 整数
- 浮点数
- 字符串
- 布尔值 True / False
- 空值 None
- 列表 list / tuple
- 字典 dict / set
- 自定义数据类型
① 整数
Python 可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。
例如:1
,100
,-8080
,0
,等等。
计算机由于使用二进制
,所以,有时候用十六进制表示整数比较方便,十六进制用 0x
前缀和 0 - 9, a - f 表示。
例如:0xff00
,0xa5b4c3d2
,等等。
② 浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x10^9 和 12.3x10^8 是完全相等的。浮点数可以用数学写法,如 1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把 10 用 e 替代, 1.23x10^9 就是 1.23e9,或者 12.3e8,0.000012 可以写成 1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
❝注意:
❞
在 Python 中,有两种除法,一种除法是 /
:
print(10 / 3)
# 输出 3.333333