news 2026/5/19 2:59:29

Python语法基础笔记(四)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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(元组不支持新增删除和修改操作,只能重新定义,因此,内存地址就会改变)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/18 21:29:27

16、SSH 客户端与服务器的端口转发配置指南

SSH 客户端与服务器的端口转发配置指南 1. SSH 客户端本地端口转发 SSH 客户端本地端口转发允许将本地端口的流量转发到远程服务器的指定端口。以下是不同命令行客户端的配置方法。 1.1 命令行客户端配置 OpenSSH、SSH Communications 和 VanDyke Software 都提供了用于 SS…

作者头像 李华
网站建设 2026/5/16 21:53:27

科研突破新引擎:书匠策AI期刊论文助手如何重构学术创作生态?

在科研工作者日均处理30篇文献、撰写5000字论文的常态下,学术生产力工具的革新已从"效率提升"转向"范式变革"。书匠策AI以认知智能为核心,通过构建"文献理解-逻辑构建-质量把控"的全链条智能支持系统,正在重新…

作者头像 李华
网站建设 2026/5/15 21:30:45

2、深入了解 SSH:功能、优势与架构

深入了解 SSH:功能、优势与架构 1. SSH 基础概述 Secure Shell(SSH)是用于保障两个实体间通信安全的程序。它采用客户端/服务器架构,SSH 客户端可在所有版本的 Windows、不同的 Unix 系统以及各种 Macintosh 操作系统上使用,能连接到 SSH 服务器,这些服务器可以是如 Su…

作者头像 李华
网站建设 2026/5/11 14:58:28

从选题焦虑到逻辑闭环:本科毕业论文写作困境的智能破局新路径

每年春夏之交,高校校园里总弥漫着一种独特的“低气压”——不是考试周,不是实习季,而是本科毕业论文的攻坚期。对许多本科生而言,这可能是人生中第一次独立完成一篇结构完整、逻辑自洽、格式规范的学术写作。然而,缺乏…

作者头像 李华
网站建设 2026/5/8 4:17:01

Wan2.2-Animate-14B:消费级GPU实现电影级角色动画的终极方案

在数字内容创作领域,一个革命性的突破正在悄然发生。阿里巴巴通义实验室最新开源的Wan2.2-Animate-14B模型,正在重新定义角色动画制作的技术边界。这个拥有140亿参数的混合专家模型,让普通创作者也能在消费级硬件上产出专业级动画效果。 【免…

作者头像 李华