当前位置: 首页 > news >正文

Python语法基础笔记(四)

一、类型转换
  1. int ():转换为一个整数,只能转换由纯数字组成的字符串

    • float->int : 会去掉小数点及后面的阿数值,只保留整数部分

    • str-> int : 如果字符串中有数字和正负号(+-)以外的字符就会报错(+-写在前面表示正负号,不可以写后面)

      # 用户输入年龄,判断成年 age = int(input("请输入年龄:")) # input默认输入字符串, 强制转换为整型 if age >= 18: print("成年") else: print("未成年")
  2. float () : 转换为一个小数

    • int -> float : 整型转换为浮点型,会自动添加以为小数 5----> 5.0

    • str -> float: 如果字符串中有正负号、数字和小数点以外的字符,则不支持转换

  3. str () : 转换为字符串,任何类型都可以转换成字符串类型

    • float-> str : 会取出末位为0 的小数部分 -1.000 ---“ -1.0” 2.00 ---"2.0" 2.1200----"2.12"

    • list -> str : 输出形式和列表相同,但是已经是字符串类型了

  4. eval () : 用来执行一个字符串表达式,并返回表达式的值

    • eval("10+10") -----> 20 执行运算,并返回运算值

    • eval("10"+"10")----> 1010

    • eval(10+"20") ----> 报错,整型和字符串不可以相加

    • eval("[[1,2],[3,4],[5,6]]") -----> [[1,2],[3,4],[5,6]]**可以实现list、dict、tuple和str之间的转换**

    • eval() 很强大。但不够安全,容易恶意修改数据

  5. list () : 将可迭代对象转换成列表

    • 支持转换为list的类型:str、tuple、dict、set

    • str ->list : list("abc") ---->['a', 'b', 'c']

    • tuple ->list : list(("a","b","c")) ----> ['a', 'b', 'c']

    • dict->list : list({"name": "小陈","age": 18}) ---->['name', 'age'] 字典转换成列表,会取键名作为列表的值

    • set ->list : list({"a","b","c"}) ---->['b', 'a', 'c'] 由于集合是无序的,生成列表的元素也是无序的。如果重复,先去重,再转换。

  6. tuple () : 转换成元组

    • tuple("abc") # 字符串转换成元组

    • tuple([1,2,3,4,5])# 列表转换成元组

    • tuple({"name": "小陈","age": 18}) # 字典转换成元组

    • tuple({1,2,3,4,5})## 集合转换成元组

  7. set () : 转换成集合

    • set("abc")# 字符串转换成集合

    • set([1,2,3,4,5])# 列表转换成集合

    • set({"name": "小陈","age": 18})# 字典转换成集合

    • set(tuple([1,2,3,4,5])) # 元组转换成集合

  8. dict (): 转换成字典

    • dict([("name", "小陈"),("age", 18)])# 列表转换成字典

二、深浅拷贝
  1. 赋值:

    a =[1,2,3]

    b=a

    等于完全共享资源,一个值的改变会完全被另一个值共享

    变量内存地址相同

  2. 浅拷贝:

    • 数据半共享

    • 会创建新的对象,拷贝第一层的数据,嵌套层会指向原来的内存地址

    • 需要导入copy模块 格式: b=copy.copy(a)

    • 两个变量的内存地址不一样,说明不是一个对象了 --查看内存地址 id(a) id(b)

    • 外层的内存地址不同,但是内层的内存地址是相同的

    • 优点:拷贝速度比较快、占用空间少、拷贝效率高

    import copy a =[1,2,3,[4,5]] b=copy.copy( a) a.append(6) # 往列表添加元素 a[3].append(7) # 往嵌套列表添加元素 print(a,id(a),id(a[3]),"\n",b,id(b),id(b[3])) #a----- [1, 2, 3, [4, 5, 7], 6] 1540123463616 1540123462976 #b----- [1, 2, 3, [4, 5, 7]] 1540123470656 1540123462976
  3. 深拷贝:

    数据完全不共享

    外层的对象和内层的元素都拷贝了一遍

    需要导入copy模块 格式:b = copy.deepcopy(a)

    深拷贝数据变化只影响自己本身,跟原来的对象没有关联

    import copy a =[1,2,3,[4,5]] b=copy.deepcopy( a) a.append(6) # 往列表添加元素 a[3].append(7) # 往嵌套列表添加元素 print(a,id(a),id(a[3]),"\n",b,id(b),id(b[3])) # [1, 2, 3, [4, 5, 7], 6] 1736682377152 173668237651 # [1, 2, 3, [4, 5]] 1736682384192 1736682356800
三、可变对象
  1. 含义:

    • 存储空间保存的数据允许被修改,这种数据就是可变类型

    • 变量对应的值可以修改,但是内存地址不会发生改变 (可使用id()验证,内存地址)

  2. 常见类型:

    • 列表 list

    • 字典 dict

    • 集合 set

  3. 注意:深浅拷贝只针对可变对象

四、不可变对象
  1. 含义:

    • 存储空间保存的数据不允许被修改,这种数据就是不可变类型

    • 变量对应的值不能被修改,如果修改就会生成一个新的值从而分配新的内存空间

    • 内存地址不一样: 修改值就会生成新的值,重新赋值给变量

  2. 常见类型:

    1. 数值类型:int、bool、float、complex

    2. 字符串: str

    3. 元组:tuple(元组不支持新增删除和修改操作,只能重新定义,因此,内存地址就会改变)

http://www.cnnetsun.cn/news/61549.html

相关文章:

  • 13、找回丢失文件的实用方法
  • 14、Linux 用户与用户组管理全解析
  • 30亿参数撬动87%成本下降:ERNIE 4.5 VL重塑多模态AI产业格局
  • PaperXie AI毕业论文写作功能深度实测:从选题到成稿,一个被低估的学术效率引擎如何重塑我的研究流程
  • torchtune终极部署指南:从微调到生产环境的完整链路
  • 科研认知减负革命:书匠策AI如何将文献“噪音”转化为创新“信号”
  • SSM 还是 Spring Boot?2025 年计算机毕设选题避坑指南与 50 个优质题目推荐
  • 27、Linux与UNIX系统管理操作指南
  • Nordic经过全球认证的、多传感器、电池供电的蜂窝物联网原型平台:Thingy91X套件
  • 基于springboot + vue学生选课信息管理系统
  • 【MWORKS使用技巧73】如何在Sysplorer中将仿真数据导入Syslab进行分析与绘图?
  • 2026毕设ssm+vue基于的住房保障系统论文+程序
  • Cursor
  • 为不同的wordpress页面调用不同的顶部菜单
  • 2026毕设ssm+vue基于的智慧机场管理系统论文+程序
  • 20251215_WPF入门之拓展方法_Study09
  • Pelco KBD300A 模拟器:05+1.本项目中的链式调用类设计详解
  • 基于springboot + vue考勤管理系统
  • 基于springboot + vue图书借阅管理系统
  • 淘宝天猫一键重装系统工具,智能装机助手,支持多版本系统傻瓜式安装,新手小白也能轻松上手!
  • 仿生记忆革命:字节跳动AHN技术突破大模型长文本处理瓶颈
  • 云服务器新手必看:常见名词和知识整理,一文搞懂
  • Xiaomi Home Integration代码质量优化终极指南:从根源解决智能家居设备控制瓶颈
  • 雷电预警监测系统:储油罐雷电监测预警系统​
  • 冰点还原安装破解
  • 腾讯混元Hunyuan-A13B:智能体技术突破与800亿参数MoE架构的完美融合
  • 重新定义B站体验:从功能界面到个性空间的华丽转变
  • 【每天学习一点算法 2025/12/15】环形链表
  • DDR5和DDR4比有什么区别,值得升级吗?
  • 海尔智能设备HomeAssistant接入完整教程