03|03 数据基本类型

数值
整数类型int 不限制大小,无论多复杂的算式都可以直接得到结果。一般返回整数,真除法得到小数。

03|03 数据基本类型
文章图片
常见的运算符
【03|03 数据基本类型】可以进行大小比较,也可以连续比较判断。得到的结果是逻辑值,真或者假。 如 7 > 3 >= 3以及12 < 23 < 22

03|03 数据基本类型
文章图片
比较判断
Python语言中可以直接使用二进制,八进制和十六进制来表示整数,只要加一个前缀来标识几进制。
03|03 数据基本类型
文章图片
进制 浮点数类型float 浮点数操作与整数类似,但受到17位有效数字的限制。超过的话就使用科学计数法,有效位数,进制转换会导致精度误差。2.3*10^8.
在使用浮点数的时候,比如对浮点数进行相等小于大于的判断要。小心4.2+2.1使用py会出现6.3000000000001的情况。
判断两个浮点数是否相等: 使用他们两个数的差,如果他们的差小于一个足够小的数,就认为这两个浮点数是相等的。
复数类型 Python内置复数数据类型,并支持常见的复数运算。数学中 虚数表示是 a+bi,在计算机中表示为a+bj. i用j表示。可以使用(1+2j).imag 或.real 分别提取出复数的虚部或实部,即2和1。
复数之间只能比较是否相等。
复数应用,求平面上两个点(x1,y1)和(x2,y2)的距离。
更多的数学函数:math模块 math函数是专门处理整数和浮点数的。数学函数并不是在Python的内置里面,但我们可以引用它,import math。 dir函数可以告诉导入的模块中包含了什么内容。

  • 数学常数: 圆周率π、自然对数的底e
  • 数学函数: 三角函数、对数、最大公约数、最小公倍数等。
cmath模块
  • cmath模块专门面向复数计算:math模块中的数学函数只能用于计算整数和浮点数,无法处理复数。
  • 可以用来进行平面直角坐标和极坐标之间的转换。
逻辑值
判断与真值 逻辑bool类型: 逻辑值仅包括真true与假false两个。用来配合if/while等语句做条件判断。

03|03 数据基本类型
文章图片
条件判断 逻辑运算 与 and 并且,and连接的两个真值需要同时为真,计算结果才为真。

03|03 数据基本类型
文章图片
and
或 or 或者,or连接的两个真值只要有一个为真,计算结果就为真。

03|03 数据基本类型
文章图片
or
非 not 否定,not连接的一个真值,非真为假,非假为真。
03|03 数据基本类型
文章图片
not
and和or是双目运算,由两个逻辑类型真值进行运算,not是单目运算,作用于一个逻辑类型真值。
优先级,not最高,and次之,or最低。如果是较为复杂的表达式,可以使用小括号进行处理,有利于可读性。
各种类型对应的真值
  • 整数,浮点数和复数类型:0是假,所有非0的数值都是真。
  • 字符串类型:空串(“”)是假,所有非空串都是真。即便这个字符是一个空格,也是真。
  • 所有序列类型(包括字符串):空序列是假,所有非空的序列都是真。
  • 空值None:表示无意义或不知道,也是假。
字符串
文本的表示 字符串就是把一个个文字的字符串起来的数据。文字字符包含有拉丁字母,数字,标点符号,特殊符号,以及各种语言文字字符。

03|03 数据基本类型
文章图片
语言文字字符
用双引号或者单引号都可以表示字符串,但必须成对。
多行字符串用三个连续单引号表示。

03|03 数据基本类型
文章图片
字符串表示
特殊字符用转义符号\表示
03|03 数据基本类型
文章图片
转义字符表
字符的编号:第一个字符的编号是0,第二个字符的编号是1, 最后一个字符的编号是-1,倒数第二个字符的编号是-2。使用这种整数编号可以从字符串中抽取出任何一个字符。 正向编号 ,反向编号,每一个字符都可以有两种编号。

03|03 数据基本类型
文章图片
字符的整数编号 字符串和名字的区别
  • 字符串是数据本身,名字是数据的标签,名字和字符串是名和值之间的关系。
  • 一个字符串数值可以关联多个名字,一个名字在同一时刻只能关联一个字符串数值。
  • 字符串数值只能是字符串类型,名字则可以关联任意类型的数值。
常见的字符串操作
  • 获取字符串的长度: len函数
  • 切片slice操作: s[start:end:step]

    03|03 数据基本类型
    文章图片
    slice
  • 加法和乘法: +将两个字符串进行连接,得到新的字符串。 *将字符串重复若干次,生成新的字符串。
  • 判断字符串内容是否相同(==),返回布尔值。>>> a = 'Hello' >>> a == 'Hello' True
  • 判断字符串中是否包含某个字符串(in) 返回布尔值。
  • 删除空格: str.strip 去掉字符串前后所有的空格,内部的空格不受影响。 str.lstrip去掉字符串前部,左部所有空格。str.rstrip去掉字符串后部,右部的所有空格。
  • 判断字母数字: str.isalpha判断字符串是否全部由字母构成。str.isdigit判断字符串是否全部由数字构成。str.isalnum判断字符串是否仅包含字母和数字,而不含特殊字符。


  • 字符串的高级操作:split 分割。join合并。 upper、lower、swapcase 大小写相关。 ljust、center、rjust 排版坐中右对齐。replace 替换子串。 03|03 数据基本类型
    文章图片
    高级操作
字符串是一种序列
  • 序列sequence,能够按照整数顺序排列的数据。
  • 序列可以通过从0开始的连续整数来索引单个对象。
  • 可以执行切片,获取序列的一部分。
  • 可以通过len函数来获取序列中包含多少元素。
  • 可以用+加法来分连接为更长的序列。
  • 可以用乘法*来重复多次,成为更长的序列。
  • 可以用in来判断某个元素是否在序列中存在。
变量和引用
给数据命名
  • 命名语法: < 名字 > = < 数据 >
  • 名字由字母和数字组合而成,下划线“_”算字母,字母区分大小写。
  • 不带特殊字符(如空格、标点、运算符等)
  • 名字的第一个字符必须是字母,而不能使汉字。(在Python3的名字规则中,汉字算是字母)
名字与变量
  • 名字像是一个标签,通过赋值来贴在某个数据数值上。未定义的名字无法使用,unassigned name
  • 名字和数值之间的关联,称为引用。关联数值后的名字,就拥有了数据的值value和类型type。
  • 一个数值可以和多个名字关联。
  • 与数值关联的名字也称作变量,表示名字的值和类型可以随时变化。
  • 变量可以随时指向任何一个数据对象,比如true,1.02,“Hello”。变量的类型随着指向的数据对象类型改变而改变。
  • 赋值assignment,名字与数值关联的过程,称之为给变量赋值。
  • “==”相等关系是对数值的相等性进行判断。
  • “=”赋值号则是计算等号右边式子的值,将其赋值给等号左边的变量。
  • 赋值语句就是通过赋值号将变量和表达式左右相连的句子。
  • 赋值语句the_sum=0,实际上是创建了名为the_sum的变量,然后指向了数据对象“0”
灵活多变的赋值语句
  • 最基本的赋值语句形式 < 名字 > = < 数据 >
  • 合并赋值 a=b=c=1
  • 按顺序依次赋值 a,b,c=7,8,9
  • 简写赋值语句: price+=1 ,price*=1.5 ,price/= 3+4. +=之间不能有空格。

    推荐阅读