由于在机器学习的理论基础上需要一定的编程能力,所以在这里我打算跟进学习Python,以作为进一步学习机器学习打下基础。
这里我用学习的是mooc上北京理工大学,嵩天老师的课程。希望能有收获。
下面提一句课程目标编写100行左右的Python程序,掌握一门可以用20年以上的编程程序
掌握抽象并求解基本计算能力的初步问题
了解产业界解决复杂计算问题的基本方法
享受编程求解和科技创新带来的高阶乐趣
下面介绍第一章Python基本语法元素程序设计基本方法
Python开发环境配置
实例1:温度转换
Python程序语法元素分析
这一章的学习目标为方法论程序的基本编写方法:IPO
实践能力看懂10行左右简单的Python代码
程序设计基本方法
计算机:根据指令操作数据的设备功能性:对数据的操作,表现为数据计算、输入输出处理和结果储存等
可编程性:根据一系列指令自动地、可预测地、准确地完成操作者的意图摩尔定律(Moore's Law)
单位面积集成电路上可容纳的晶体管数量约每两年翻一番
程序设计语言是一种用于焦糊的人造语言程序设计语言,亦称编程语言,程序设计的具体实现方式
编程语言相比自然语言更简单、更严谨、更精确
编译和解释
源代码:采用某种编程语言编写的计算机程序,人类可读
目标代码:计算机可以执行,人类不可读(专家除外)
编译过程
解释过程
编程语言分为两类静态语言:使用编译执行的编程语言编译器一次性生成目标代码,优化更充分
程序运行速度更快
脚本语言:使用解释执行的编程语言执行程序时需要源代码,维护更灵活
源代码维护灵活、跨多个操作系统平台
程序的基本编写方法
IPOI:input输入,程序的输入文件输入、网络输入、控制台输入、交互界面输入、内部参数输入
输入是程序的开始
P:process处理,程序的主要逻辑处理是程序对输入数据进行计算产生输出结果的过程
处理方法是程序最主要的部分
O:output输出,程序的输出控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出
输出是程序展式运算结果的方式
计算机只能处理计算或者辅助计算
编程解决问题的步骤分析问题:分析问题的计算部分,想清楚
划分边界:划分问题的功能边界,规划IPO
设计算法:设计问题的求解算法,关注算法
编写程序:编写问题的计算程序,编程序
调试程序:调试程序使正常运行,调试运行
升级维护:适应问题的升级维护,更新完善
Python开发环境配置Python语言概述Python语言是一个由编程牛人领导设计并开发的编程语言
Python语言是一个有开放、开源精神的编程语言
Python语言应用于火星探测、搜索引擎、引力波分析等众多领域
Python语言Windows系统中开发环境
Python语言Web系统开发环境
Python程序编写和运行
Python编程示例
示例1:计算圆的面积
r=25
area=3.1415*r*r
print(area)
print("{:.2f}".format(area))
示例2:绘制同切圆
import turtle
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)
示例3:绘制五角星
from turtle import
color('red','red')
begin_fill()
for i in range(5)
fd(200)
rt(144)
end_fill()
done()
实例1:温度转换
温度刻画的两种不同体系
摄氏度:中国和世界上大多数国家使用
华氏度:美国、英国等国家使用
需要将这两种体系进行转换
对该问题中计算部分的理解理解1:直接将温度值进行转换
理解2:将温度信息发布的声音或图像形式进行理解和转换
理解3:监控温度信息发布渠道,实时获取并转换温度值
划分边界输入:带华氏或者摄氏标示的温度值
处理:根据温度标志选择适当的温度转换算法
输出:带摄氏或者华氏标示的温度值
设计算法
华氏度定义为F,摄氏度定义为C
#TempConvert.py
TempStr=input("请输入带有符号的温度值")
if TempSrt[-1] in ['F','f']:
C=(eval(TempStr[0:-1]-32)/1.8)
elif TempStr[-1] in ['C','c']:
F=1.8*eval(TempStr[0:1])+32
print("转换后的温度{:,2f}F".format(F))
else:
print("输入格式错误")
Python程序语法元素分析程序的格式框架
命名与保留字
数据类型
语句与函数
Python程序的输入和输出
代码高亮: 编程的色彩辅助体系,不是语法要求
缩进:一行代码开始前的空白区域,表达程序的格式框架严格明确:缩进十语法的一部分,缩进不正确程序运行错误
所属关系:表达代码之间包含和层次关系的唯一手段
长度一致:程序内一致即可,一般用四个空格或一个TAB
注释:用于提高代码可读性的辅助性文字,不被执行单行注释:以#开头,其内容是注释
多行注释:'''...''',中间内容...就是注释
变量:程序中用于保存和表示数据的占位符号变量采用标识符来表示,关联标识符和过程叫做命名命名规则:大小写字母、数字、下划线和汉字等字符及组合
注意事项:大小写敏感、首字符不能是数字、不与保留字相同
可以使用等号(=)向变量赋值或者修改值,=被称为赋值符号
保留字:被编程语言内部定义并保留使用的标识符
Python语言中一共33个保留字
黑色保留字:Python基础语法保留字
数据类型:字符串、整数、浮点数、列表字符串:由0个或多个字符组成的有序字符序列字符串由以堆单引号或一对双引号表示
字符串是字符的有序序列,可以对其中的字符进行索引
字符串序号从0开始编号
Python中有两种编号方式正向递增序号
反向递减序号
字符串的索引和切片操作索引:返回字符串中的单个字符:[M]TempStr[-1]:返回字符串倒数第一个字符
切片:返回字符串中一段字符子串:[M:N]TempStr[0:-1]:返回从0开始但不到最后一个字符
数字类型整数
浮点数(小数)
列表:由0个或多个数据组成的有序序列列表使用[]表示,采用逗号“,”分隔各元素['F','f']表示两个元素'F'和'f'
使用保留字 in 半段一个元素是否在列表中TempStr[-1] in ['C','c']半段前者是否与别表中某个元素相同
赋值语句:由赋值符号构成的一行代码赋值语句用来给变量赋予新的数据值C=(eval(TempStr[0:-1]-32)/1.8) #右侧运算结果赋给变量C
赋值语句右侧的数据类型同时作用于变量TempStr=input("请输入带有符号的温度值")# input()返回一个字符串,TempStr也是字符串
分支语句:由判断条件决定程序运行方向的语句使用保留字 if elif else构成条件判断的分支结构
每个保留字所在行最后存在一个冒号“:”,语法的一部分
函数:根据输入参数产生不同输出的功能过程类似数学中的函数,y=f(x)print("..."),#打印输入"..."
输入函数input():从控制台获得用户输入的函数=input()用户输入的信息以字符串类型保存在中
输出函数print()print()
字符串类型的一对引号尽在程序内部使用,输出无引号
print()函数的格式化print("转换后的温度是{:.2f}C".format(C))
{}表示槽,后续变量填充到槽中
评估函数 eval():去掉参数最外侧的引号并且执行余下的语句eval()eval("1") 输出1
eval("print("hello world")") 输出hello world