友情提示:380元/半年,儿童学编程,就上码丁实验室。
之前的课程里介绍了如何安装Python编程环境Jupyter,接下来会分两次介绍Python基础语法。
大纲
•Python 与资料科学
◦Python 特色
◦Python 环境架构与 Python Script
◦Python 语言与数据科学
•Python 语法基础
◦1.变量(variables)与数据型态、型别(types)
◦2.基本运算与是非逻辑(logic)
◦3.list、dict
◦4.if-else 陈述句
◦5.循环
◦6.函式(function)
◦7.档案(File)
◦8.函式库(libraries)
◦9.错误侦测(try catch)
Python 与资料科学
Python 特色
1.易写、易读、易学
2.免费、开源,你可以自由的发布复制程序代码、阅读它的原始码、并把更动的部分用于新的开源软件中
3.跨平台,可以在这些平台上执行,包括Linux、Windows、MacOS 等
4.拥有强大的社群以及生态系统
Python 环境架构与 Python Script
•Python 脚本以 .py 作文件名结尾
•内容包含的就是 Python 程序,也就是一连串的 Python 指令
•通常会用自己偏好的文本编辑器来撰写程序,例如:最新流行的 VSCode然后再执行它
•可以在命令提示字符(cmd)输入「python xxx.py」来执行 xxx.py 这个 python 脚本
假设我们有一个档案叫 hello.py ,内容如下,我们可以在命令提示字符用 python 指令来执行它
python hello.py
Python 语言与数据科学
Python 本身就是拿来做做数据科学的应用?
•Python 本身并非被特地设计用来做数据科学应用
•Python 除了数据分析外,也常被拿来做网站后端,撰写 API、IoT 开发板开发等应用
•Python 生态系统里有很多第三方套件是专门为数据科学与科学计算而生
Python 常见做数据科学应用的套件:
•numpy:做向量矩阵转换
•scipy:可以针对矩阵进行许多常见的统计计算
•pandas:做数据分析与数据处理
•matplotlib:做数据可视化
•scikit-learn:做机器学习
•opencv:做影像辨识
Python 语法基础
1.变量(variables)与数据型态、型别(types)
•赋予名字给某个值
•在程序里重复使用
•值可以不断被改变
•变量规则:
❖变量名称保留字:
❖指定变量的语法:
x = 20
在此之后 x 即代表 20 请注意这个等号并不是数学里相等的意思,而是「指定」,左右不能互换
❖使用变量:
x * 40
结果 = 4000
•数据型态、型别(types) ◦int:整数
◦float:浮点数
◦str:字符串
❖ int:Integer,整数,没有小数点
可以使用 type 来判断目前数据的型态
EX:
type(0)
type(-124819)
Output 为:
int
int
❖ float:Float,浮点数,有小数点的数字
可以使用 type 来判断目前数据的型态
EX:
type(3.5)
Output 为:
float
❖ str:String,字符串,任何用单引号(‘)或双引号(“)括起来的文字都是字符串
可以使用 type 来判断目前数据的型态
EX:
type(‘hello world’)
type(“你好“)
type(’3′) #即使内容是数字,如果用引号括起来就是字符串
Output 为:
str
str
str
str 可以相加,会把两个字符串连在一起
‘A’ + ‘Python’
Output 为:
APython
2.基本运算与是非逻辑(logic)
•操作数、运算符
•基本的加减乘除
❖算术运算子
EX:
print(5 + 3)
print(25 – 13)
print(5 * 3)
print(25 / 5)
Output 为:
8
12
15
5
print(21 % 2) # 21 / 2 的余数为 1,所以结果为 1
print(3 ** 5) # 3 的 5 次方
Output 为:
1
243
•比较运算符 ◦如何判断两个数字是否相等?
◦两串文字是否相等?
◦数字 A 是否大于数字 B?
◦我们可以用 == 来知道两个值是否相等,用 != 来知道两个值是否不相等
EX:
print(2 == 2)
print(2 == 5)
print(3 != 3)
print(3 != 4)
Output:
True
False
False
True
结果可以看出这些比较判断所呈现的结果,只有 True or False
请注意
== 和 = 是完全不一样的
= 用于指定,将左项指定为右项的值,左右不可交换
== 用于比较,比较两者是否相等,左右可以交换
另外比较运算符也可用于字符串
EX:
print(‘word’ == ‘word’)
print(‘word’ != ‘world’)
Output:
True
True
•逻辑运算符 ◦条件 X 成立「而且」条件 Y 成立
◦条件 X 成立「或者」条件 Y 成立
◦条件 X 「不成立」
EX:
print(True and True)
print(True and False)
print(True or False)
print(False or False)
print(not True)
print(not False)
Output:
True
False
True
False
False
True
3.list、dict
当数据如果有一整串时,例如:十届金钟奖的得主、多个人名、多个品牌种类,在 Python 里,list 可以表示这种类型的数据
❖ List
用一对中括号 [] 来代表一个 list 的开始与结束,list 中的元素用逗号分隔
EX:
a = ['Ben', 'Polo', 'Ken', 'Archer']
len(a) #可以用 len 函式来检视它的长度
a[0] #取得 list 中的元素
a[-1] #从后面取得 list 中的元素
Output:
4
‘Ben’
‘Archer’
语法剖析:
1. a 是我们想检视的 list
2.index 是从 0 开始而非 1
3. 因此 ‘Ben’ 在这个 list 中的位置是 0 而非 1
取得 list 中的「其中一部分」
EX:
a = ["1", "2","3", "4", "5", "6", "7"]
print(a[3:6])
print(l[:5])
Output:
['4', '5', '6', '7']
['1', '2', '3', '4']
语法剖析:
1.中括号里面的内容包含一个冒号:
2.冒号前是开始位置
3.冒号后是结束位置
4.结果并不包含结束项
改变 list 中的内容:
EX:
a[0] = ‘first’
print(a)
Output:
['first', '2', '3', '4', '5', '6', '7']
增加 list 的内容可以使用 append 方法:
EX:
a.append(‘eight’)
print(a)
Output:
['first', '2', '3', '4', '5', '6', '7','eight']
❖ Dictionary
1.用一对大括号 {} 来表示一个 dict 的开始与结束
2.每一个元素都是一组 key-value
3.key 即是索引,每个索引对到一个值
4.key 与 value 中间用冒号隔开,每组之间用逗号隔开
5.使用方法很类似 list,但 dict 是以 key 代表值的位置,因此我们可以用以下语法查看内容:
EX:
a_dict = {‘name’: ‘Ben’, ‘height’: 178}
print(a_dict['height'])
#增加数据到字典中
a_dict['age'] = ‘xx’
print a_dict
#更新字典内的元素
a_dict.update({‘height’: 200})
print a_dict
Output:
178
{‘name’: ‘Ben’, ‘height’: 178, ‘age’: ‘xx’}{‘name’: ‘Ben’, ‘height’: 200, ‘age’: ‘xx’}
至于要如何将 dict 里的数据全部读出来,可以透过下列语法:
# 遍历整个字典数据
for rec in a_dict:
print rec,a_dict[rec]