news 2026/5/25 10:17:14

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/26 0:19:19

25、SSH应用案例解析:安全访问与数据传输方案

SSH应用案例解析:安全访问与数据传输方案 在网络安全领域,SSH(Secure Shell)协议凭借强大的加密和身份验证功能,为远程访问和数据传输提供了安全保障。本文将通过三个具体案例,深入探讨SSH在不同场景下的配置与应用。 案例一:多用途SSH服务器配置 本案例涉及两个VShe…

作者头像 李华
网站建设 2026/5/25 17:53:31

1、深入了解 SSH:功能、优势与实施指南

深入了解 SSH:功能、优势与实施指南 1. SSH 概述 Secure Shell(SSH)是一种用途广泛的实用工具,它可以被描述为协议、加密工具、客户端/服务器应用程序或命令接口。SSH 凭借其多样的服务以及安全提供这些服务的能力,成为许多企业网络中的重要组成部分。 1.1 SSH1 与 SSH…

作者头像 李华
网站建设 2026/5/25 14:43:20

17、文本处理与输入输出操作指南

文本处理与输入输出操作指南 1. 常用文本处理命令 在文本处理中,有几个常用的命令可以帮助我们完成各种任务。 1.1 tr 命令 tr 命令可以用于字符替换和文件加密。例如,在显示 MyFile 文件时,tr 可以将单词 “Halloween” 改为 “Haloween”。同时,它还能使用 ROT13 方法…

作者头像 李华
网站建设 2026/5/26 8:51:40

科研写作新范式:解锁书匠策AI期刊论文功能的隐藏生产力

在科研写作的赛道上,研究者往往需要与文献海洋博弈、与逻辑漏洞周旋、与格式规范较劲。而当人工智能技术深度渗透学术场景,一款名为书匠策AI的科研工具正以“问题导向的智能辅助”重构期刊论文创作生态。本文将以创新视角拆解其核心功能,揭示…

作者头像 李华