2021-07-20 Python嵩天MOOC学习笔记
第一周
一、编译与解释
源代码:人类可读
目标代码:计算机直接执行,人类不可读
编译:源代码一次性转换成目标代码→编译器
解释:将源代码逐条转换、逐条运行,每次都需要解释器的辅助→解释器
根据执行方式的不同,编程语言分为两类:
①静态语言(编译执行):C、C++、Java
②脚本语言(解释执行):Python
优劣:
静态语言:一次性生成目标代码,程序运行速度快
脚本语言:执行程序时需要源代码,维护灵活,跨多个操作系统
二、基本编写方法
IPO: Input Process Output
Input:文件,网络,控制台,交互界面 etc.
Output:图形,文件,网络 etc.
Process:算法
三、两种编程方式
交互式(单条语句的练习)
文件式(保存在后缀为.py的文件里运行)
四、语法元素-温度转换
添加注释:
单行注释:#
多行注释:’’’…’’’
缩进
长度统一且强制使用
命名与保留字:
变量的赋值:TempStr = “82F”
命名规则:字母/数字/下划线/汉字/首字符不能是数字,不与保留字相同
保留字:已经内部定义的语法词
***保留字表,注意最后三个保留字的大小写
数据类型:
字符串基本知识:
- 由一对单引号或双引号表示,单双没有区别,有序序列,可以进行索引
- 编号从0开始
- 正向递增序号:从第一个字符往后数,编号为0,1,2···
- 反向递减序号:从最后一个字符往前数,编号为-1,-2,-3···
- 如“123”、“10,011,101”、‘F’
字符串的操作:
- 索引
#索引:使用[]获取字符串中一个或多个字符
#如,返回单个字符使用以下,都可以返回r
print("Tempstr"[-1])
"Tempstr"[-1]
- 切片
#切片:返回字符串中一段子串
"TempStr"[0:-1]
#↑表示从0开始但不到-1,相当于把-1对应的字符去掉
整数:
- 如123、10011101、-1
浮点数 :
- 如1.8、-1.0
列表 :
- 如[‘F’, ‘f’]
- 用逗号分隔各元素
- 用in来判断一个元素是否在列表中
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F' , 'f']:
C=(eval(TempStr[0:-1]) - 32)/ 1.8
#将返回True或者False
语句与函数
- 赋值语句右侧的数据类型同时作用于变量
TempStr = input("")
- 分支语句 if elif else`
if TempStr[-1] in ['F' , 'f']:
#注意上述语句后面有个冒号,表示如果条件成立则执行冒号后带有缩进的语句
#冒号以及后续缩进用来表示后续语句与条件的从属关系
- 函数 input() eval()
五、输入输出
输入
使用格式:<变量> = input(<提示信息字符串>) 以字符串类型保存在<变量>中
TempStr= input("请输入手机号码") #TempStr以字符串形式保存了输入信息
输出
使用格式:
①直接输出
print("输入格式错误")
②格式化
print("转换后的温度是{:.2f}C".format(C))
#{}表示槽,后续变量填充到槽中
③结束形式
print(chr(9800 + i), end="")
#用逗号+end函数来决定每一个print之后要换行还是不变,在循环print语句中用上!没有加默认每循环一次就会换行
评估函数 eval()
作用:去掉参数最外侧引号并执行余下语句的函数;广义:任何字符串形式的信息变成语句
eval("1") #result:1
eval("1+2") #result:3
eval('"1+2"') #result:'1+2'
eval('print("Hello")') #result:Hello
if TempStr[-1] in ['F' , 'f']:
C=(eval(TempStr[0:-1]) - 32)/ 1.8
print("转换后的温度是{:.2f}C".format(C))
#TemStr[0:-1]的值是"12.3",是字符串,加了eval之后变成数字12.3
六、小测及作业错误笔记
1. 报错原因
multiple statements found while compiling a single statement
→ 这是因为整体复制过去运行而产生的错误;解决方案如下:方法一:先将第一行复制,敲一下回车,再将剩下的部分复制过去,运行;方法二:新建file,然后复制到file里再复制回来
2. 切片
正切片
str = "Hello World"
print(str[2:5])
#result: llo 即2含5不含
负切片
str = "Hello World"
print(str[-5:-2])
#result: Wor -5含-2不含,按-5→-2这样输出,所以是正序的
要保留最后一位数的切片
str = "Hello World"
print(str[-5:])
#result: World