前言:本人所写的python博客不针对学过C++/Java的学生,也就是说不是很适用已经会了这两门语言的人再来学python的学生,因为不会进行语言之间的对比,所以大家请根据自己的情况自行食用(●'◡'●)
1.创建文件及基本设置
上一篇已经介绍了如何安装我们所需的编译器,那么我们就要开始进行写代码,写代码我们要先创建一个文件,然后给文件命名即可。
我们可以进行调节字体,以及自己喜欢的背景。背景则是同样再设置里面搜索background,然后添加自己喜欢的照片就行,毕竟好的背景自己看着也心情愉悦~
2.常量及表达式
如下图便是一个简单的表达式,我们可以进行各种运算,然后由打印函数打印在控制台上。
形如1 + 1*2这样是算式,在编程语言中称为表达式,算式的运算结果,称为表达式的返回值其中1,2这种称为字面值常量,+ - * /这种称为运算符或者操作符。
3.变量
有时候我们会进行复杂的运算,我们需要保存中间计算结果,这时候就要使用变量。如下:
ps:#是注释,后面会写到,#后面的任何东西编译器是不会读取的。
avg, total, result 均为变量。** 在 Python 中表示乘方运算. ** 2 即为求平方。
变量可以视为开了一个空间,然后可以在这个空间内可以存储数据。
3.1变量的使用
我们要使用变量要先定义一个变量,我们也可以用变量给变量赋值。
3.2变量的类型
在python中,一共有三种变量类型:
- int(整形)
- float(浮点型)
- str(字符串)
- bool(布尔型)(进行逻辑判断是十分有用的)
- 其他
type(变量)可以查看这个变量的类型;len(字符串类型的变量)应该都知道这是干啥的(●'◡'●)
注意:int 类型没有上限,只要内存足够,可以表示无限大的整数;表示字符串‘’ “”两种引号完全等价,如‘hello’ “hello”是等价的。
3.3为什么要有这么多类型
(1) 类型决定了数据在内存中占据多大空间。
int 占四个字节,float则是八个字节等等
(1字节=8bite(比特),然后是kb,mb,gb,tb等换算都是1024倍)
(2) 类型其实约定了能对这个变量做什么样的操作。
例如 :int / float 类型的变量, 可以进行 + - * / 等操作; str 类型的变量, 只能进行 + (并且行为是字符串拼接), 不能进行 - * / , 但是还能使用 len 等其他操作。
总结: 类型系统其实是在对变量进行 "归类"。相同类型的变量(数据) 往往具有类似的特性和使用规则。
3.4动态类型特性
在python中,变量是可以动态规划类型的,如下图,一个变量的类型是可以随程序运行改变的。
这样的代码是灵活的,但是灵活这个词在程序中往往是贬义的,灵活意味着是不稳定的。
动态类型特性是一把双刃剑:
a.对于中小型程序, 可以大大的解约代码量(比如写一段代码就可以同时支持多种类型)。
b.对于大型程序, 则提高了模块之间的交互成本. (程序猿 A 提供的代码难以被 B 理解)。
4.注释
我们写一段代码要做的不仅仅是让编译器看懂,更重要的是让人看懂,所以一个健壮的程序注释是必不可少的。代码的第一目标是容易理解, 第二目标才是执行正确。写注释不光是为了方便别人来理解, 也是方便三个月之后的自己理解。
python的注释有两种风格:
行注释:#···往后一行都是注释。一般都在代码上一行或者下一行,很少在右边
文档字符串:使用"""或者"'均可。
可以包含多行内容,一般放在 文件/函数/类 的开头.
规范:
1.内容准确: 注释内容要和代码一致, 匹配, 并在代码修改时及时更新.
2. 篇幅合理: 注释既不应该太精简, 也不应该长篇大论.
3. 使用中文: 一般中国公司都要求使用中文写注释, 外企另当别论.
4. 积极向上: 注释中不要包含负能量(例如 领导 SB 等).
5.输入及输出
5.1输出
我们现阶段都是使用控制台进行输入及输出,我们通常使用print函数进行输出,print函数可不仅仅只能像print(变量)这样简单的输出。
如下,我们想输出a=10时就不能简单的在print函数里写a=10;往往我们想输出字符串加变量,所以使用 f 作为前缀的字符串, 称为 f-string,里面可以使用 { } 来内嵌一个其他的变量/表达式.
5.2输入
python 使用 input 函数, 从控制台读取用户的输入。
input的参数可以是'提示信息'也可以没有,他的返回类型是字符。
如果我们想要其他类型,我们可以进行类型转换
注意:计算机是一个铁憨憨,女朋友约会时可能只会等你一小会,计算机不一样,它会一直等,你不输入它就不执行剩下的语句,所以该选择谁懂得都懂(●'◡'●)!ps:这时候适合插一个计算机的广告,哈哈哈哈。
6.运算符
6.1算术运算符
像 + - * / % ** // 这种进行算术运算的运算符,称为算术运算符。
ps:0不能作为除数,否则会出现代码异常
%是取模计算符,就是可以计算余数。
**是求乘方,不仅可以求整数乘方,还可以求小数乘方。
//叫做取整除法,也叫做地板除法(舍弃小数部分, 并向下取整. 不是四舍五入),这个向下代表着整个范围,所以负数也是一样的规则。
6.2关系运算符
像 < <= > >= == != 这一系列的运算符称为关系运算符,它们是在比较操作数之间的关系.
(1)如果关系符合就返回True,如果关系不符合就返回False。
(2) 关系运算符不光针对整数/浮点数进行比较,还能针对字符串进行比较。
ps:针对字符串进行比较,编译器所遵循的是字典序,及按照英文字母先后,越小越大,从第一位依次向后比较。
(3)对于浮点数最好不要用==判断相等
对于如下的代码,在我们的认知中他们是相等的,但是在计算机中可不是这样的,浮点数在计算机中的表示是不准确的,在计算中是十分容易存在误差的。虽然这个误差十分小,但==是锱铢必较的,即使一点点误差都不行。
正确的做法则是去规定一个误差范围,只要两数相减的差值在这个范围则认为这两个浮点数相等。
讲一个听老师讲的笑话,在高中学习物理时我们知道任何液体都会蒸发,但是在化学中我们也学习了浓硫酸是不具备挥发性的,乍一看这两句话是很矛盾的,细看后更矛盾了,有一天好学的小明拿着这个问题走向了理综办公室,然后两边的老师就干起来了,最后呢小明反而被赶出来了。小明很郁闷啊。这是为什么呢。其实双方都没有错,只是角度不同,物理站在理论的角度上,而化学站在工业的角度,很微小的损耗在工业上是会被直接忽略的。所以我们不仅仅是程序猿,也是攻城狮,看待问题不仅仅要站在理论上也要注重实际。
6.3逻辑运算符
像 and or not 这一系列的运算符称为逻辑运算符。
and 并且:两侧操作数均为 True,最终结果为 True。否则为 False。(一假则假)
or 或者:两侧操作数均为 False,最终结果为 False。否则为 True。(一真则真)
not 逻辑取反:操作数本身为 True,则返回 False。本身为 False,则返回 True。
一种特殊写法:a < b and b < c 这个操作等价于 a < b < c
当然python也有自己的短路求值:
对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.
对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.
这个不在执行就是实际意义上的不在执行。下图已知右边是编译不通过的,但是代码顺利执行下去了,就意味着编译器在判断左边为假后就不在管右边写的是什么了;同理或者也是一样的道理。
6.4赋值运算符
=这个运算符叫做赋值,与==区分开
我们不单单只能给一个变量赋值,同时也支持给多个变量赋值
例如两数交换,我们也要利用一个中间变量。
Python 还有一些 复合赋值运算符. 例如 += -= *= /= %=
例如a+=1就是a=a+1,同理其他的也是一样
其实我们很多人都是很普通很普通的人,没有过人的天赋,也没有强硬的家世背景,我们过着平淡的生活,毫无波澜,对于像我这样再普通不过的人来说,一屋,两人,三室,四季便是最大的愿望了,所以大家也要过上自己想要的生活哦。愿诸君平安喜乐,知行合一。