python变量数据类型和运算符,


目录
  • 1 数据类型
    • 1.1 基础类型
    • 1.2 类型判断
  • 2. 运算符和表达式
    • 2.1 算术运算符
    • 2.2 模运算说明
    • 2.3 数学函数
    • 2.4 随机函数
    • 2.5 赋值运算符
    • 2.6 关系运算
    • 2.7 逻辑运算
      • 2.7.1 逻辑与
      • 2.7.2 逻辑或
      • 2.7.3 逻辑非
    • 2.8 短路计算
      • 2.9 注意事项
        • 2.10 身份运算符
          • 2.11 成员运算符
            • 2.12 if-else表达式

            1 数据类型

            不同类型的变量可以进行的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为:

            内置类型:

            • 数值类型:整型int,浮点型float,复数(complex) 3+5j
            • str:字符串
            • bool:布尔值【True,False】
            • None:空值,表示变量没有确定的值
            • list:列表
            • tuple:元组
            • dict:字典
            • set:集合

            自定义类型:

            • class :

            1.1 基础类型

            数值类型:

            • 整型(int): python3中只有int一种,可以表示整数,例如:10,-5,10000
            • 浮点型(float): 表示带小数点的实数,有两种表示法:
              • 小数表示: 1.9 .23
              • 科学计数法: 用e来表示10的指数,1e2就代表了100,注意e前面必须有数值,e后面必须为整数
            • 复数(complex):表示数学上的无理数,形如:a+bj
            • 布尔型(bool):表示事务的两种状态,男女、阴晴、亮暗等,它只有两个值:True,False
            • None:表示空对象,一般用于判断,不同于0和空字符
            • 字符串(str):在python中,用引号(单引号、双引号、三引号)表示字符串

            字符串的表示:

            # 用单引号表示: 'hello'
            # 用双引号表示:"我用python"
            # 用3个单引号表示:可以表示多行文本,例如:
            '''伟大

            祖国
            '''
            # 用3个双引号表示:可以表示多行文本,例如:
            """生死看淡,
            不服就干"""

            • 转义字符:有些特殊字符无法从键盘输入,可以使用转义字符表示,另外,无论是单引号、双引号还是三引号字符串,其中引号是字符串界定符,引号并不是字符串的内容,那么如何在单引号字符串中表示一个单引号呢,这也可以使用转义字符表示。常见的转义字符

            转义字符

            描述

            转义字符

            描述

            ​\'​

            表示一个普通字符单引号

            \n

            换行

            ​\"​

            表示一个普通字符双引号

            \r

            回车

            ​\'''​

            一个普通的三单引号

            ​\\​

            一个普通的字符\

            ​\"""​

            一个普通的三双引号

            \a

            响铃

            \t

            tab键

            \b

            回删一个字符

            • 字符串编码:计算机只能识别二进制,那么字符串如何存储到计算机里呢

            计算机不能直接存储字符串,但我们可以将字符编码,例如用65表示大写字符A,66表示大写字符B....等这种表示方式就是美国类的ASCII码,只能表示127个字符,但对于美国人来说已经足够了。一但能用整数表示字符,我们可以很方便的把整数用二进制表示,那么字符串也就和容易存储到计算机了。
            但还有很多其他国家的语言是不能用ASCII表示的,所有ISO组织就推出了unicode码,用来表示任何一种语言的字符,unicode码也称之为万国码,通用码,可以表示任何一种语言的任何一个字符。unicdoe码有多中表示方式,例如:utf-8、utf-16、utf-32等。一般使用较多的是utf-8,utf-8是一种变长的编码,表示一个字符可能用一个字节,也可能是三个字节
            中文常用编码一般用GBK编码,用2个字节表示一个汉字

            1.2 类型判断

            我们可以使用type和isinstance来测试和判断数据类型

            #type用法:
            type(obj)
            功能:返回obj的数据类型
            参数:obj是你要测试变量或数值
            示例:
            age = 10
            name = 'hello'
            print(type(name),type(age))
            #判断变量是否是指定类型
            if type(age) is int:
            print('是')
            else:
            print('否')
            
            #isinstance用法:
            isinstance(obj,typename)
            功能:判断obj是否是指定类型,是返回True,否返回False
            参数: objobj是你要判断的变量或数值
            typename是指定数据类型,可以是int,float,str等。也可是一个
            类型的元组,例如:(int,float)
            示例:
            age = 10
            name = 'hello'
            print(isinstance(age,int))
            print(isinstance(name,(str,int)) #只要name是str或int的一种就返回True
            
            if isinstance(age,int):
            print('是')
            else:
            print('否')
            
            #type和isinstance的区别
            type判断基本类型是没问题的,但无法判断子类对象是父类的一种
            isinstance可以判断子类对象是父类的一种
            class A:
            pass
            class B(A):
            pass
            
            objA = A()
            objB = B()
            
            #输出否
            if type(objB) is A:
            print('是')
            else:
            print('否')
            print(isinstance(objB,A)) #True

            结论:优先使用isinstance

            2. 运算符和表达式

            在数学上为了计算结果,我们会写一些式子计算,例如:

            30 + 5

            这是数学中的计算式,python中为了计算也有类似的式子,叫表达式。在表达式中30和5称作操作数,+称之运算符。表达式的目的在于计算结果。表达式构成:

            • 最基本的表达式就是一些数值,变量、函数,例如: 3, a(变量) print(‘hello’)
            • 由基本表达式加上适当的运算符构成复杂的表达式: 3 + a

            综合上述,所谓表达式就是由操作数和运算符组成䄦符合python语法的式子。要写表达式首先要学习运算符。关于运算符要知道两件事情

            • 计算顺序 : 是从左向右算还是从右向左算
            • 优先级 : 比如先乘除后加减

            2.1 算术运算符

            a = 20
            b = 10

            运算符

            说明

            示例

            -

            负号,取原数的相反数

            a = 10 print(-a) #-10

            + - * /

            加减乘除,同数学上一样

            a + b = 30 a - b = 10 a * b = 200 a / b = 2

            %

            模运算,即求 a整除以b的余数

            a % 10 = 0

            //

            整除

            a // b = 2

            **

            对运算符进行指数(幂)计算

            a ** b 表示20的10次方

            2.2 模运算说明

            • 模运算的符号取决于第二个操作数(右操作数)
            • 模运算的计算公式:r = a % b = a - n * b,其中n是小于a/b的最大整数
            • 整除(//)运算如果有一个操作数是浮点数,结果是浮点数
            • 用途:判断奇偶、判断是否能够整除、最大公约数、水仙花数

            2.3 数学函数

            函数名

            函数的说明

            示例

            abs

            取绝对值

            abs(-10)

            pow(x,y)

            x的y次方

            pow(10,2)求10的平方

            round(x,[n])

            浮点数的4舍5入, n代表保留小数的位数

            round(3.456)

            max()

            求给定参数的最大值

            max(21,43,65,75,86,32,3,45)

            min()

            求给定参数的最小值

            min(21,43,65,75,86,32,3,45)

            math.ceil()

            需要导入import math库 向上取整

            math.ceil(18.1) #19

            math.floor()

            需要导入import math库 向下取整

            math.floor(18.1) #18

            math.sqrt

            需要导入import math库 求平方根

            math.sqrt(100)

            ​ ​python3.5.2中文帮助文档​​

              

            2.4 随机函数

            获取随机数,需要引入random库。

            import random

            函数名

            函数说明

            random.randrange(start,stop,step)

            start 指定范围的起始值 包含本身,默认是0;stop 指定范围的结束值 不包含本身; step 步长,默认步长是1。该函数返回一个整数

            random.randint(start,end)

            返回[start end]之间的一个随机整数,start必须小于end

            random.random()

            返回一个[0.0,1.0)之间的随机小数

            注意:

            • 优先级: ** >正负号 > // % * / > + -
            • 从左向右算
            • 在幂运算和一元运算符联合计算时,从右向左算,例如: -1 ** 2 = -1

            2.5 赋值运算符

            a = 5; b = 10; c = 20

            运算符

            说明

            示例

            =

            简单赋值, 将b+c的结果赋给a

            a = b +c #a=30

            +=

            a += b等价于 a = a +b

            a = 15

            -=

            a -= b等价于 a = a - b

            a = -5

            *=

            a *= b等价于 a = a * b

            a = 50

            /=

            a /= b 等价于a = a / b

            a = 0.5

            %=

            a %= b等价于a = a % b

            a = 5

            //=

            a //= b等价于 a = a // b

            a = 0

            **=

            a **= b等价于a = a ** b

             

            注意:

            • 赋值运算符左边必须是变量
            • 从右向左算
            • 没有赋值表达式
            • 所有赋值运算符优先级相同,赋值运算符优先级非常低,仅高于成员运算符和身份运算符、逻辑运算符
            • 注意在复合赋值中
            a = 2
            b = 3
            a *= b + 2 #等价于 a = a * (b + 2)
            print(a) # a = 10

            2.6 关系运算

            关系运算就是比较运算,如果表达式成立,返回True,否则返回False。关系运算的结果是布尔值。

            运算符

            示例

            说明

            ==

            a == b

            a和b值相等,结果是True,a和b值不相等结果为False

            !=

            a != b

            a不等于b 结果为True,否则结果为True

            >

            a > b

            a大于b结果为True,否则为False

            >=

            a >= b

            a大于等于b结果为True,否则为False

            <

            a < b

            a小于b结果为True,否则为False

            <=

            a <= b

            a小于等于b结果为True,否则为False

            注意

            • 优先级: 比较运算符优先级相同
            • 从左向右算
            • 可以这样算:​1 < a < 3​​ 等价于 a > 1 and a < 3

            2.7 逻辑运算

            逻辑运算符可以用于构造复杂条件。逻辑运算符包括:

            • 逻辑与 and 对应汉语的意思是“并且” 、 “同时”
            • 逻辑或 or 对应汉语意思为"或者"
            • 逻辑非 not 对应汉语意思为”相反“

            在逻辑运算中,False、None、0、0.0、‘’(空字符串)被看做假(False),其它的看做真(True)

            2.7.1 逻辑与

            a

            b

            a and b

            任意值

            b的值

            任意值

            a的值

            • 表达式 a and b的值为: 如果a为真,结果为b的值,否则结果是a的值

            2.7.2 逻辑或

            a

            b

            a or b

            任意值

            a的值

            任意值

            b的值

            • 表达式a or b的值为:如果a为真结果为a的值,否则结果是b的值

            2.7.3 逻辑非

            a

            not a

            False

            True

            小结:a为真则表达式为False,否则表达式为True

            2.8 短路计算

            • 对于逻辑与表达式 a and b,如果a为假,则不计算b
            • 对于逻辑或表达式 a or b ,如果a为真,则不计算b

            2.9 注意事项

            • 优先级 not > and >or

            2.10 身份运算符

            is: 判断两个标识符是否引用自同一个实体【对象】,比较的是两个对象的id是否一样,如果相同为真,否则为假

            is not:判断两个标识符是不是引用自不同的实体【对象】如果两个对象的id不同结果为真,否则为假

            id()函数获取实体的id(地址)

            注意:is和==的区别

            • is用于判断两个变量引用实体是否为同一个【id】
            • ==用于判断两个变量的值是否相同,但id不一定相同

            2.11 成员运算符

            主要应用在序列中

            in:如果在指定的序列中找到指定的值,则返回True,否则返回False

            not in:如果在指定的序列中未找到指定的值,则返回True,否则返回False

            2.12 if-else表达式

            表达式1 if 条件 else 表达式2,如果条件为真假结果是表达式1的值,否则结果是表达式2的值

            到此这篇关于python变量数据类型和运算符的文章就介绍到这了,更多相关python 运算符内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

            您可能感兴趣的文章:
            • python中的字符转运算符、字符串处理方式
            • python输入、数据类型转换及运算符方式
            • Python海象运算符的用法教程
            • Python 海象运算符( :=)的三种用法
            • Python中的变量、运算符与流程控制
            • python字符串运算符详情
            • python中的各种运算符介绍
            • python中常见的运算符及用法实例
            • Python运算符的应用超全面详细教程

            评论关闭