网站建设中面包屑导航的特点,搜索引擎seo是什么意思,有哪些建站的公司,装饰公司网站建设效果各位CSDN的uu们你们好呀#xff0c;今天#xff0c;小雅兰的内容是Python的一些基础语法噢#xff0c;会讲解一些常量和变量的知识点#xff0c;那么#xff0c;现在就让我们进入Python的世界吧 常量和表达式
变量和类型 变量是什么 变量的语法 变量的类型 常量和表达式 … 各位CSDN的uu们你们好呀今天小雅兰的内容是Python的一些基础语法噢会讲解一些常量和变量的知识点那么现在就让我们进入Python的世界吧 常量和表达式
变量和类型 变量是什么 变量的语法 变量的类型 常量和表达式
我们可以把 Python 当成一个计算器, 来进行一些算术运算。
print(1 2 - 3)print(1 2 * 3)print(1 2 / 3)注意: print 是一个 Python 内置的函数。可以使用 - * / ( ) 等运算符进行算术运算先算乘除后算加减。运算符和数字之间可以没有空格也可以有多个空格。但是一般习惯上写一个空格(比较美观)。在Python中2/3等于0.666666而不是0 在C语言或者Java中整数除以整数的结果还是整数并且会把小数部分直接舍弃print(12/3) 打印出来的结果是1.6666666666666665
667
在编程中一般没有“四舍五入”这样的规则
浮点数IEEE 754标准中这套规则下在内存中表示浮点数的时候可能会存微小的误差 IEEE二进制浮点数算术标准IEEE 754是20世纪80年代以来最广泛使用的浮点数运算标准为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式包括负零-0与反常值denormal number一些特殊数值无穷Inf与非数值NaN以及这些数值的“浮点数运算符”它也指明了四种数值舍入规则和五种例外状况包括例外发生的时机与处理方式。 IEEE 754规定了四种表示浮点数值的方式单精确度32位、双精确度64位、延伸单精确度43比特以上很少使用与延伸双精确度79比特以上通常以80位实现。只有32位模式有强制要求其他都是选择性的。大部分编程语言都有提供IEEE浮点数格式与算术但有些将其列为非必需的。例如IEEE 754问世之前就有的C语言有包括IEEE算术但不算作强制要求C语言的float通常是指IEEE单精确度而double是指双精确度。 该标准的全称为IEEE二进制浮点数算术标准ANSI/IEEE Std 754-1985又称IEC 60559:1989微处理器系统的二进制浮点数算术本来的编号是IEC 559:1989。后来还有“与基数无关的浮点数”的“IEEE 854-1987标准”有规定基数为2跟10的状况。最新标准是“ISO/IEC/IEEE FDIS 60559:2010”。 形如 1 2 - 3 这样是算式, 在编程语言中称为表达式。算式的运算结果, 称为表达式的返回值。其中 1 , 2 , 3 这种称为字面值常量。 - * / 这种称为运算符或者操作符。下面我们来看一个题目
给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的平均数.
print( (67.5 89.0 12.9 32.2) / 4 ) 变量和类型
变量是什么
当程序执行计算时我们希望存储某些值以便稍后可以使用这些值。在Python程序中使用变量存储值。
定义变量
变量是计算机程序中的存储单元。每个变量都有一个名称并存有一个值。
使用赋值语句将值放入变量中。
cansPerPack6
赋值语句的左侧是一个变量右边是结果为一个值的表达式。
赋值语句右侧的值存储在左侧的变量中。
第一次给变量赋值时将使用该值创建和初始化该变量。变量定义后可以在其他语句中使用。
例如以下语句将打印存储在变量cansPerPaack中的值
print(cansPerPack)
如果一个现有变量被赋予一个新值则该值将替换先前存储的值。
例如以下语句将变量cansPerPack的值从6改变为8
cansPerPack8
等号“”并不意味着等式的左边等于右边而是将右边的值赋给左边的变量。
下面我们来看一个题目
给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的方差。 方差又是什么呢 方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望即均值之间的偏离程度。统计中的方差样本方差是每个样本值与全体样本值的平均数之差的平方值的平均数。在许多实际问题中研究方差即偏离程度有着重要意义。 方差是衡量源数据和期望值相差的度量值。 计算平均值此处的平均值就会在后面反复地被使用 针对每个数字分别计算数字和平均值的差值再平方 把上述的平均值相加 除以项数-1avg (67.5 89.0 12.9 32.2) / 4
total (67.5 - avg) ** 2 (89.0 - avg) ** 2 (12.9 - avg) ** 2 (32.2 - avg) ** 2
result total / 3
print(result)注意: avg, total, result 均为变量。** 在 Python 中表示乘方运算. ** 2 即为求平方。就像计算器中的 M 键功能类似, 通过变量就可以保存计算过程中的中间结果. 只不过, 计算器一般只能保存一个数据, 而在 Python 代码中, 可以创建任意多的变量, 来随心所欲的保存很多很多的数据.
变量可以视为是一块能够容纳数据的空间. 这个空间往往对应到 内存 这样的硬件设备上. 我们可以把内存想像成是一个宿舍楼, 这个宿舍楼上有很多的房间. 每个房间都可以存放数据.
衡量内存的一个重要指标就是内存空间的大小, 比如我的电脑内存是 16GB. 这个数字越大, 意味着 内存的存储空间就越大, 能够存放的数据(变量) 就越多. 变量的语法 (1) 定义变量
创建变量的语句非常简单, 其中a 为变量名.
当我们创建很多个变量的时候, 就可以用名字来进行区分。 为赋值运算符, 表示把 右侧的数据放到 左侧的空间中.
注意: 变量的名字要遵守一定规则. 硬性规则(务必遵守) 变量名由数字、字母、下划线构成不能包含特殊字符。 像a1是合法的变量名 像1aa*a都是非法的变量名 数字不能开头. 变量名不能和 关键字 重复. 关键字在语法中有特定含义的单词 像if这种也是非法变量名 变量名大小写敏感区分大小写。 num 和 Num 是两个不同的变量名. 软性规则(建议遵守) 给变量命名的时候变量名使用有描述性的单词来表示尽量通过名字表现出变量的作用。 一个变量名可以由多个单词构成长一点没关系但是含义要清晰不怕变量名字长就怕变量的含义表达得不清楚。 当我们使用一个单词描述不清楚的时候可以使用多个单词来命名。 当变量名包含多个单词的时候命名有多种规范。 1.驼峰命名法。形如 totalCount , personInfo 这种除了首个单词外剩余单词首字母大 写。 2.蛇形命名法。形如person_info、total_count这种单词之间使用下划线_来进行分 隔。 在公司里开发商业程序一般公司都会有明确的编程规范。 数学上, 变量通常使用 x, y, z 这种简单的英文字母或者拉丁字母表示. 但是在编程中不建议这样使用. 原因是编程中, 一个程序里通常会同时创建出很多个变量. 如果只是使用单个字母表示, 在变量多了的时候, 就很难记住哪个变量是干啥的, 从而给维护程序带来了一定的困难. 因此我们更建议使用带 有明确描述性的名字, 来表示变量的用途. (2) 使用变量
读取变量的值
a 10
print(a)修改变量的值
a 20
print(a)注意: 在 Python 中, 修改变量也是使用 运算, 看起来和定义变量没有明显区别.
当然, 也可以用一个变量的值赋给另外一个变量.
a 10b 20a bprint(a)print(b) 变量的类型
变量里面存储的不仅仅是数字, 还可以存储其它种类的数据. 为了区分不同种类的数据, 我们引入了 类型这样的概念.
(1) 整数
a 10
print(type(a))type 和 print 类似, 也是 python 内置的函数. 可以使用 type 来查看一个变量的类型. Python中的变量的类型不需要在定义变量的时候显式声明而只是依靠初始化语句根据初始化的值的类型来进行确定的。 在Python中int能够表示的数据范围是“无穷”的 Python的int是可以根据要表达的数据的大小自动扩容 因此Python这里就没有long这样的类型了 像byte、short这些类型在Python中也不存在 Java int最大就能表示到-21亿~21亿 (2) 浮点数(小数)
a 0.5
print(type(a))像C和Java里面float是四个字节也叫做“单精度浮点数”
把一个二进制位称为一个bit
8个bit放在一起就称为是一个字节
double是八个字节的也叫做“双精度浮点数”
相比于单精度浮点数, 双精度浮点数占用的内存空间更多, 同时表示的数据精度更高即可(大概精确到小数点后 15 位). Python中的float就是双精度浮点数等同于C/Java里的double
Python的一个设计哲学解决一个问题只提供一种方案
(3) 字符串
a hello
print(type(a)) ahello
print(type(a))使用 或者 引起来的, 称为字符串. 可以用来表示文本.
英文字母、阿拉伯数字、标点符号、甚至汉字符号都可以认为是“字符”。
例如a 8
注意: 在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. hello 和 hello 是 完全等价的.
字符串这个单词——stringstr 如果有这样一段话My name is yalan,如果把这段话作为字符串那么该怎么办呢 如果是这么写编译器都看不下去了所以 应该这样写 因此如果字符串里面包含了双引号表示字符串就可以用单引号引起来 如果字符串里面包含了单引号表示字符串就可以用双引号引起来 那么如果同时有单引号和双引号又该咋办呢 Python中还有一种字符串使用三引号表示 amy name is yalan
print(a)可以使用 len 函数来获取字符串的长度.
a hello
print(len(a))可以使用 针对两个字符串进行拼接.
a hello
b world
print(a b)形如这样的代码就是“字符串拼接”也就是把后面的字符串拼接到前一个字符串的末尾得到了一个更大的字符串对于原来的a、b是没有影响的
此处是两个字符串相加. 不能拿字符串和整数/浮点数相加. 在Python中报错有两种情况 语法错误 在程序运行之前Python解释器就能把错误识别出来运行错误 在程序运行之前识别不了的必须要执行到对应的代码才能发现问题(4) 布尔
布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假)在后续进行逻辑判断的时候, 是非常有用的.
布尔类型也是数学上的一个概念. 我们初中就学过一个概念叫做 命题 , 进一步的就可以判定命题的真假.
c1True
c2False
print(type(c1))
print(type(c2)) (5) 其他
除了上述类型之外, Python 中还有 list、tuple、dict、自定义类型等等 为什么要有这么多类型?
(1) 类型决定了数据在内存中占据多大空间.
(2) 类型其实约定了能对这个变量做什么样的操作. 类型系统其实是在对变量进行 归类. 相同类型的变量(数据) 往往具有类似的特性和使用规则. 动态类型特性
程序运行过程中变量的类型可能会发生变化。
a10
print(type(a))
ahello
print(type(a))
aTrue
print(type(a))a的类型随着程序的运行就发生改变。
静态类型程序运行过程中变量的类型始终不变 C Java
Java中的 int a10 a这个变量在程序运行的整个过程中始终都是int如果尝试ahello,编译阶段就会报警告。 一个编程语言是否是动态类型只是取决于运行时类型是否发生变化不取决于变量定义的时候是否声明类型。 Python作为一个动态类型的语言在定义变量的时候也是可以写类别的。 动态类型写法是比较灵活的提高了语言的表达能力然而在编程中“灵活”这个词往往是“贬义”的更容易出错
相比之下静态类型的语言还是更好一些的。尤其是在大型的程序中多人协作开发。 好啦小雅兰今天的内容就到这里啦之后还会好好学python噢