网站后台,珠海市公共资源交易中心,东营seo网站推广费用,热点新闻头条目录 1.变量和表达式2.变量和类型2.1变量是什么2.2变量的语法2.3变量的类型2.3.1整数2.3.2浮点数#xff08;小数#xff09;2.3.3字符串2.3.4布尔2.3.5其他 2.4为什么要有这么多类型2.5动态类型特征 3.注释3.1注释的语法3.2注释的规范 结语 1.变量和表达式
对python的学习就… 目录 1.变量和表达式2.变量和类型2.1变量是什么2.2变量的语法2.3变量的类型2.3.1整数2.3.2浮点数小数2.3.3字符串2.3.4布尔2.3.5其他 2.4为什么要有这么多类型2.5动态类型特征 3.注释3.1注释的语法3.2注释的规范 结语 1.变量和表达式
对python的学习就从以下一段代码开始吧。我们可以把python当成一个计算器来进行一些算数运算如下
print(1 2 - 3) #0
print(1 2 * 3) #7
print(1 2 / 3) #1.6666666666666665注意
print是一个python的内置的函数这个后面会讲解可以使用 - * /等运算符进行算术运算。且先算乘除后算加减运算符和数字之间可以没有空格也可以有多个空格。但我们一般习惯上会写一个空格比较美观可读性高。
通过上面的代码我们发现在python中2 / 3 0.6666666666666666而不是0这一点我们可以对比C / Java在这些语言中整数除以整数的结果还是整数并且会把小数部分直接舍弃截断 观察三式的结果问题又来了根据一般的数学运算为什么结果小数的末尾是6665而不是6667呢这是因为在编程中一般没有“四舍五入”这样的规则。 在python中形如1.666...665这样的小数被称为浮点数 且python遵循IEEE754标准~这套规则下在内存中表示浮点数的时候可能存在微小的误差这就造成了1.666...665这样的结果。 在print(1 2 / 3)中形如1 2 / 3被称为表达式这个表达式的结果被称为表达式的返回值1, 2, 3这样的数字称为字面量 / *这样的符号被称为运算符/操作符。
2.变量和类型
2.1变量是什么
有的时候我们需要进行的计算可能更复杂一些需要把一些计算的中间结果保存起来。这个时候就需要用到变量例如下面这个题目 例题1给定四个分数67.4, 88.5, 90, 76.7编写代码求这四个数的方差。 在这个代码中就需要先计算这四个数的平均值然后再计算方差。那么为了方便计算方差这就需要我们把计算得到的平均值使用变量保存起来代码如下
avg (67.4 88.5 90.0 76.7) / 4 #计算平均值并用变量avg保存
total (67.4 - avg) ** 2 (88.5 - avg) ** 2 (90.0 - avg) ** 2 (76.7 - avg) ** 2
result total / 4
print(result)注意
avg, total, result均为变量我们也可以创建任意多的变量来随心所欲的保存很多很多的数据**在python中表示乘方运算** 2即为求平方。
变量可以视为是一块能够容纳数据的空间这个空间往往对应到“内存”这样的硬件设备上具体了解还请学习计算机组成原理。 打个比方我们可以把内存想象成一个宿舍楼这个宿舍楼上有很多的房间每个房间都可以存放数据。 衡量内存的一个重要指标就是内存空间的大小。 比如我的电脑内存是16GB这个数字越大意味着内存的存储空间就越大能够存放的数据(变量)就越多。 2.2变量的语法
创建变量的语句非常简单,如下
num 10其中num为变量名。当我们创建很多个变量的时候, 就可以用名字来进行区分。为赋值运算符, 表示把 右侧的数据放到 左侧的空间中与数学上的比较相等区分。 注意 变量在命名时要注意一定的规则
硬性规则必须遵守!
变量名必须由数字字母下划线构成~不能包含特殊字符数字不能开头变量名不能和python的“关键字”重复“关键字”为在语法中有特殊含义的单词如ifprint等python中的变量名是大小写敏感的因此要区分大小写。如num和Num是两个不同的变量名。
软性规则建议遵守
给变量命名的时候尽量使用描述性的单词来表示尽量通过名字来表现出变量的作用。如在描述身高时用height描述体重时用weight用count来计数…;当包含多个单词时命名规则可以有多种规范 驼峰命名 除了第一个单词的首字母外后面每个单词的首字母都大写。如personInfopushBack蛇形命名 单词之间使用下划线_来进行分隔。如person_infopush_back。 数学上变量通常使用 x, y, z 这种简单的英文字母或者拉丁字母表示。但是在编程中不建议这样使用。 原因是编程中一个程序里通常会同时创建出很多个变量。如果只是使用单个字母表示在变量多了的时候, 就很难记住哪个变量是干啥的从而给维护程序带来了一定的困难。因此我们更建议使用带有明确描述性的名字来表示变量的用途。 再来看下面这一段代码
a 10 #(1)处
b a
print(b)
a 20 #(2)处
print(a)上面这段代码(1)处首次使用对a进行设置值这个过程是在创建变量初始化。(2)处再对a使用操作则是相当于修改a的内容赋值。
2.3变量的类型
变量里面存储的不仅仅是数字还可以存储其它种类的数据。为了区分不同种类的数据我们引入了 “类型” 这样的概念。 注意 和 C / Java 等语言不同Python变量的类型不需要显式指定而是依靠初始化语句根据初始化的值的类型来进行确定的。
2.3.1整数
num 10
print(type(num)) # class inttype和 print类似也是 python内置的函数。可以使用 type来查看一个变量的类型。 注意 在Python中int能够表示的数据范围是无穷的。Python中int是可以根据要表示的数据大小自动扩容的~。因此Python这里就没有longshort这样的类型了。反观C / Java中的int只能表示大概-21~21亿。
2.3.2浮点数小数
num 0.5
print(type(num)) # class float注意 和 C / Java等语言不同Python的小数只有 float一种类型没有double类型。但是实际上Python的 float就相当于 C / Java的 double表示双精度浮点数。所以Python中float占8字节空间通常把一个二进制位称为1 bit8 bit放在一起就称为一字节(byte)。 PS: 关于单精度浮点数和双精度浮点数的问题, 我们此处不做过多讨论。大家只要知道相比于单精度浮点数4字节双精度浮点数占用的内存空间更多8字节同时表示的数据精度更高即可(大概精确到小数点后15 位)。 2.3.3字符串
arr hello
print(type(arr)) # class str字符串 是把一个个字符放到一起。所谓字符可以认为是英文字母阿拉伯数字标点符号甚至汉字符号如8a。然后使用 或者 将字符引起来的就称为字符串。可以用来表示文本。 注意 在 Python中单引号构成的字符串和双引号构成的字符串没有区别。hello和hello是完全等价的。 思考这样一个问题如何用字符串将My name is ZhangSan表示出来
sentence My name is ZhangSan #sentence My name is ZhangSan 是否可以对于上面这个问题显然是不可以的。因此如果字符串里面包含了双引号表示字符串就可以用单引号引起来反之如果包含了单引号那么便可以用双引号来引字符串。 如果句子中同时有单双引号呢这时Python还有一种字符串使用三引号表示string或string。 a1 hello
a2 world
print(a1 a2) # 打印 helloworld上述这段代码就是字符串拼接也就是把后面的字符串拼接到前一个字符串的末尾从而得到一个更大的字符串对于原字符串a1a2是无影响的 且我们不可以将字符串和数字混合相加 字符串作为开发中最常用到的数据类型支持的操作方式也是非常丰富的这里就暂且不介绍了。 从结果也可以看出编译器报错了还想介绍的一个点是在Python中报错有两种情况
语法错误 在程序运行之前Python解释器就能把错误识别出来运行错误 在程序运行之前Python解释器识别不了必须要执行到对应的代码才能发现问题。
2.3.4布尔
布尔类型是一个特殊的类型取值只有两种True(真) 和 False(假)。着重要注意首字母大写
a True #或 a False
print(type(a)) # class bool布尔类型在后续进行逻辑判断的时候是非常有用的。
2.3.5其他
除了上述类型之外Python中还有 list列表tuple元组dict字典自定义类型 等等。我们后续再介绍。
2.4为什么要有这么多类型
不同的类型占用的内存空间是不同的。 例如int在内存中默认占据4字节但可以动态扩容float类型固定占8字节bool类型只占用1字节。 PS计算机里面使用二进制来表示数据。也就是每个位只能表示 0 或者 1。1 个二进制位就称为是一个 “比特”8 个二进制位就称为一个 “字节” (Byte)一个 float 变量在内存中占据 8 个字节空间也就是 64个二进制位。我的电脑有 16GB的内存空间也就是一共有 1024 * 1024 * 1024 * 8这么多的二进制位。 不同的类型对应能够进行的操作也是不同的。 例如int / float类型的变量可以进行 - * / 等操作而 str类型的变量只能进行 (并且操作是字符串拼接)不能进行- * /但是还能使用 len等其他操作。
总结 类型系统其实是在对变量进行 “归类”。相同类型的变量(数据) 往往具有类似的特性和使用规则。
2.5动态类型特征
在程序运行过程中变量的类型可能发生改变这种称为动态类型看如下代码
a 10
print(type(a)) # class int
a Hello
print(type(a)) # class str
a True
print(type(a)) # class bool在程序执行过程中a的类型刚开始是 int后面变成了 str最后又变成了bool。 C/Java这样的语言则不允许这样的操作。一个变量定义后类型就是固定的了。这种特性则称为静态类型。如在c / Java中定义int a 10;那么如果后面再对a进行修改(a Hello)程序就会报错。 一个编程语言是否是动态类型只是取决于运行时类型是否发生改变不取决于变量定义的时候是否声明类型
动态类型特性是一把双刃剑
对于中小型程序可以大大的节约代码量(比如写一段代码就可以同时支持多种类型)。对于大型程序则提高了模块之间的交互成本。(程序猿 A 提供的代码难以被 B 理解)。 PS因此很多公司在创业之初喜欢用Python来开发产品规模小一两个程序猿很快就能写出来但是当项目达到一定的规模之后动态类型的劣势就逐渐体现了很多公司就会针对之前Python写的代码使用其他语言进行重构~ 3.注释
注释是一种特殊的代码它不会影响到程序的执行但是能够起到解释说明的作用能够帮助程序猿理解程序代码的执行逻辑。 PS写代码是一件比较烧脑的事情读代码同样也非常烧脑。相比于一板一眼的代码一些口语化的描述能更好的帮助程序猿理解程序。代码的第一目标是容易理解第二目标才是执行正确。 写注释不光是为了方便别人来理解也是方便很久之后的自己理解。 3.1注释的语法
Python中一般有两种注释风格
注释行 使用#开头的行都是注释如下
# 注释的内容文档字符串 使用三引号引起来的称为 “文档字符串”也可以视为是一种注释。(1). 可以包含多行内容(2). 一般放在 文件/函数/类 的开头(3). 或者 均可 (等价)。 如下 文档字符串
文档字符串3.2注释的规范
内容准确: 注释内容要和代码一致匹配并在代码修改时及时更新。篇幅合理: 注释既不应该太精简, 也不应该长篇大论。使用中文: 一般中国公司都要求使用中文写注释外企另当别论。积极向上: 注释中不要包含负能量。 结语
最近一段时间也是学习了Python的一些基础语法和代码案例在这也会更新一段时间Python作为自己的学习记录。如果出现什么错误的地方还请各位大佬指出^ _ ^ 。 Python的很多特色与他的设计哲学息息相关解决一个问题只提供一种方案~