0. 前言
终于考完研了,重新入门一遍 python,想想大一学的 c++ 和 大二学的数据结构那个样子,得恶补补基础知识,从基础开始,然后再慢慢过渡 numpy、opencv2、等等, 以前用 MATLAB 惯了,但是漂亮国禁 MATLAB 有点凶,还是转 python 吧,不仅体积小,而且开源做的好,很多包都很有意思。
我现在只补基础知识和一些后期可能用的包,至于像书中的 turtle 有点花里胡哨,平常玩玩就算了,现在也就不浪费时间了。
基础语法的话就在 Jupiter Lab 里敲一敲练习练习
1.Python简介
想想夏令营的时候被老师问 what is the advantage of Python, 那时候不仅紧张,更因为自己学的太少,胡言乱语,希望这次学习完之后能有更好的体会。
Python 是新西兰 Guido van Rossum 在 1990 年创建的,它以英国流行喜剧 “Monty Python” 的飞行马戏团命名。van Rossum将 Py 开发作为爱好。 而 Py因为简单、简洁以及直观的语法和扩展库等优势作为工业界和学术界广泛使用的一个流行的程序设计语言。
Python是一门用途广泛的语言,其实我觉得每个语言其实应用都很广泛,每种语言应该都有自己独特的优势,所以不可能每个人学的很齐全,用到什么就学什么,如果真正遇到需要,阅读 documentation 解决自己的问题也就够了, 不可能你让我一个 RSer 去做一个 Web 吧(不过我确实后面打算自己搭一个博客的 Web,哈哈哈哈哈哈)
Python 是一门面对对象程序设计语言,即 OOP(Object Oriented Programming)。Python的数据都是由类所创建的对象。即类的一种类型或者某个种类,它能够定义同种类型的对象,这些对象具有相同的属性以及相同操作这些对象的方法,面对对象程序设计是开发重用软件的强大工具。
Python 是一个解释性的语言,即(Illustrative language),是通过解释器(Interpreter) 翻译和执行的,每次一句,这也是为什么你在终端或者控制台输入一句也能执行一句,而 c++、c等需要编译之后再运行。
2.一些基础的语法
由于本人是 RS 种田专业的,并不是专门研究计算机的,所以这里从最基本的语法开始,print
,eval
,格式化
,运算符号
等等。把大一大二忘掉的拿回来。
交互输入数字应该书最经典的一个例子了,Python里的通过 a = eval(input('请输入你要的数字'))
即完成了所需要的输入到赋值的过程,然后进行基本的符号运算。
名称 | 含义 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 浮点型的除法 |
// | 整数的除法 |
** | 指数 |
% | 求余 |
像这里以前指数运算用的比较少,不过敲 LaTeX 的时候好像用的挺多的,重点还是注意除法吧,是整型除还是浮点除,是求余还是求整除法.
运算符 | 含义 |
---|---|
+= | 赋值加法 |
-= | 赋值减法 |
*= | 赋值乘法 |
/= | 浮点型赋值除法 |
//= | 整形赋值除法 |
%= | 赋值求余 |
**= | 赋值指数 |
记得大一很少用这些运算符,可能是自己代码写太少了吧,mark 一下,例如a += 1
,实际上就是运行两个语句,先 a + 1
再把结果赋值给 a ,其余都是如此,
这个是在 Jupyter Lab 运行的,这就是解释性语言的特点~~像MALTAB、python、java 都是,对于前期学习有非常好的环境。就是看看效果~重要的是看看哪些加强型的运算符。
3.Python内置函数
函数 | 描述 |
---|---|
abs(var) | 返回 x 的绝对值 |
max(var1,var2) | 返回 x 1 , x 2 x_1,x_2 x1,x2… 的最大值 |
min(var1,var2) | 返回 x 1 , x 2 x_1,x_2 x1,x2…的最小值 |
pow(var1,var2) | 返回 v a r 1 v a r 2 var_1^{var_2} var1var2的值,类似a**b |
round(var) | 返回与 x 最接近的整数,如果 x 与两个整数接近成都相同,则返回偶数值 |
round(x,n) | 保留小数点后 n 位小数的浮点值 |
好像和 MATLAB 的语法差不多,就是 MATLAB的矩阵表达更 6 一些, 反正在看书,就记下来罢了。
fabs(var) | 将 var 看做一个浮点数,返回它的绝对值 |
---|---|
ceil(var) | var 向上去最近的整数。然后返回 |
floor(var) | var 向下取最近的整数,然后返回 |
exp(var) | 返回幂函数 e v a r e^{var} evar的值 |
log(var) | 返回 var 的自然对数值 |
log(var,base) | 返回以 base 为底的 var 的对数值 |
sqrt(var) | 返回 var 的平方根 |
sin(var) | 返回 var 的正弦值 |
degree(var) | 把 var 从弧度转换成角度 |
radians(var) | 把 var 从角度转换为弧度 |
至于还有些 cos、acos、tan
就是很常规的语法,就不打了。
而 π \pi π 和 e e e 也定义在 math 模块里,可以通过 math.pi
和 math.e
来倒入它们,即 import math
允许你使用这些预先定义的变量,事实上这些都是需要用 math
的包的,例如 math.sqrt(4)
,不能单纯的用 sqrt(4)
.
4.关于 print
的一些操作
print
的一些操作
4.1 ASCII码的基本操作
这里主要是 ASCII 码的一些基本操作、 转义字符 的一些基础操作。
#ord(var)返回 var 的 ASCII 码
ord('A')
#chr(var)返回 var ASCII 码对应的字符
chr(77)
首先是关于 ASCII 码两个基本的操作,首先 ord(var)
返回的是 ‘A’ 字母对应的 ASCII 码,chr(var)
返回的 ASCII 码对应的字母。
大概看看就行了,还是比较基础的
4.2 转义字符的基本操作
字符转义序列 | 名称 | 数值 |
---|---|---|
\b | 退格符 | 8 |
\t | 制表符 | 9 |
\n | 换行符 | 10 |
\f | 换页符 | 12 |
\r | 回车符 | 13 |
\\ | 反斜线 | 92 |
\’ | 单引号 | 39 |
\" | 双引号 | 34 |
#通过转义字符打印带双引号的语句
print("\"我真的好累啊\"")
#打印有退格符的语句
print('\b 我真的好累啊')
#打印有制表符的语句
print('\t \"我真的好累啊\"')
# 打印有换行符的语句
print('\n \"我真的好累啊"')
看看效果吧~-~,其实很基础的,但是竟然真正从 0 入门还是面面俱到比较好,其实我在写博客表格里面打的许多符号内部就是带着转义字符的,多用就完事儿了!