当前位置:

首页 > 编程开发 > 如何使用Python中的变量数据类型和运算符?

如何使用Python中的变量数据类型和运算符?

1数据类型不同类型的变量可以进行的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为:内置类型:数值类型:整型int,浮点型float,复数(complex)3+5jstr:字符串bool:布尔值【True,False】None:空值,表示变量没有确定的值list:列表tuple:元组dict:字典set:集合自定义类型:class:类1.1基础类型数值类型:整型(int):python3中只有int一种,可以表示整数,例如:10,-5,10000浮点型(float):表示带小数点的实数

本文目录

    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的值

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python
    相关文章 更多
    python删除一个列表里的重复元素的方法与代码示例
    python删除一个列表里的重复元素的方法与代码示例

    学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

    Python写接口的步骤及完整代码示例
    Python写接口的步骤及完整代码示例

    详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

    codex怎么读取word文档及docx文件操作教程
    codex怎么读取word文档及docx文件操作教程

    介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

    怎么在Python中调用C语言代码提升性能
    怎么在Python中调用C语言代码提升性能

    详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

    Python与C语言的性能差异及底层原理
    Python与C语言的性能差异及底层原理

    深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

    Python和C语言哪个更适合编程入门
    Python和C语言哪个更适合编程入门

    客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

    selenium上传文件教程本地文件路径设置方法
    selenium上传文件教程本地文件路径设置方法

    深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
    大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

    针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

    langgraph python guide中文入门教程详解
    langgraph python guide中文入门教程详解

    本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

    Windows 安装 Python:从官方入口到虚拟环境的可复现实践
    Windows 安装 Python:从官方入口到虚拟环境的可复现实践

    面向后端开发者,基于 Python 官方文档说明如何在 Windows 上安装 Python、创建 venv 虚拟环境及使用 pip 管理依赖。包含可复制命令、验证方法及工具选择边界,避免常见配置误区。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。