爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      Python学习笔记(进阶2.0)

      首页 知识中心 软件开发 文章详情页

      Python学习笔记(进阶2.0)

      2024-11-12 06:28:44 阅读次数:27

      函数,递归

      字典遍历

      通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。

      1、遍历字典的所有key

      >>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
      >>> for i in info.keys():
      ... print(i)
      ...
      name
      age
      hometown
      >>>

      Python学习笔记(进阶2.0)

       2.遍历字典的左右value

      >>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
      >>> for i in info.values():
      ... print(i)
      ...
      xiaoming
      20
      广州
      >>>

      Python学习笔记(进阶2.0)

       3.遍历字典元素

      >>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
      >>> for i in info.items():
      ... print(i)
      ...
      ('name', 'xiaoming')
      ('age', 20)
      ('hometown', '广州')

      4、遍历字典的key-value

      >>> for key,value in info.items():
      ... print(key,value)
      ...
      name xiaoming
      age 20
      hometown 广州
      >>>

      集合

      set集合,是一个无序且不重复的元素集合。

      创建集合方式:

      # 第一种方式
      set1 = {"1","2"}
      print(set1)
      print(type(set1))
      # 第二种方式
      list1 = ['1','5','4','3']
      set2 = set(list1)
      print(set2)
      print(type(set2))

      Python学习笔记(进阶2.0)

      集合常用方法

      1.add添加一个元素

      >>> set1 = {'1','2'}
      >>> set1.add('3')
      >>> set1
      {'2', '1', '3'}
      >>>

      2.clear清空集合的元素

      >>> set1
      {'2', '1', '3'}
      >>>
      >>> set1.clear()
      >>> set1
      set()
      >>>

      3.difference两个集合的差集,a中存在,b中不存在

      >>> a = {32,12,34}
      >>> b = {12,43,23}
      >>> a.difference(b) #a-b
      {32, 34}
      >>>

      差集图实例:

      Python学习笔记(进阶2.0)

       4.、intersection 两个集合的交集,a中存在,b中也存在的

      >>> a = {32,12,34}
      >>> b = {12,43,23}
      >>> a.intersection(b) #a&b
      {12}
      >>>

      交集图实例

      Python学习笔记(进阶2.0)

       5、union 并集 包含a中的元素,也包含b中的元素

      >>> a = {32,12,34}
      >>> b = {12,43,23}
      >>> a.union(b) #a | b
      {32, 34, 23, 43, 12}

      并集图实例:

      Python学习笔记(进阶2.0)

      6.pop集合pop移除某个元素并且获取那个参数,集合pop没有参数

       

      >>> a =  {32,12,34}
      >>> a.pop()
      32
      >>> a
      {34, 12}
      >>>

      7、discard移除指定元素

      >>> a =  {32,12,34}
      >>> a.discard(12)
      >>> a
      {32, 34}
      >>>

      8.update更新集合

      >>> a={1,2,3}
      >>> b={4,5,6}
      >>> a.update(b)
      >>> a
      {1, 2, 3, 4, 5, 6}
      >>>

      数据类型共有操作

      1、合并操作+,适用于字符串,列表,元组

      >>> str1 = 'hello'
      >>> str2 = 'world'
      >>> str1 + str2 # 字符串
      'helloworld'

      >>> [1,2,3] + [4,5,6] # 列表
      [1, 2, 3, 4, 5, 6]

      >>> ('a','b')+('c','d') # 元祖
      ('a', 'b', 'c', 'd')
      >>>

      2、* 复制 适用于字符串、列表、元组

      >>> str1 = 'hello'
      >>> str1*3
      'hellohellohello' # 字符串
      >>> [1,2,3]*3
      [1, 2, 3, 1, 2, 3, 1, 2, 3] # 列表
      >>> (1,2,3)*3
      (1, 2, 3, 1, 2, 3, 1, 2, 3) # 元祖

      3.in 判断元素是否存在 适用于 字符串、列表、元组、字典、集合

      >>> 'my' in 'my name is lilei'
      True
      >>> 1 in [1,2,3]
      True
      >>> 'age' in {'name':'xiaoming','age':18}
      True

      匿名函数(函数姿势扩展)

      Python中使用lambda关键字创建匿名函数,所谓匿名即这个函数没有名字不用def关键字创建标准函数。lambda创建匿名函数

      lambda 参数1,参数2,参数3: 执行代码语句

      使用lambad表达式计算两个数和:

      sum = lambda x,y:x +y
      sum(1,3)
      sum(4,5)

      换成普通函数其实就是这样的

      def sum(x,y):
      return x + y

      2、lambda可以接收多个参数,但是只能返回一个值。要调用匿名函数得先赋值给一个变量,通过变量才能调用。

      3、lambda表达式可以当一个函数值传递。

      def sum(a,b,lam):
      print(a)
      print(b)
      print(lam(a,b))

      a = 1
      b = 2
      sum(a,b,lambda x,y:x+y)


      # 输出结果
      #1
      #2
      #3

      递归函数(函数知识扩展)

      1、递归函数  如果一个函数在内部不调用其它函数,而是调用自己本身的话,这个函数就是递归函数。示例:求阶乘5!=5*4*3*2*1

      阶乘
      5! 5*4*3*2*1
      4! 4*3*2*1
      3! 3*2*1
      2! 2*1
      1! 1

      使用循环实现:

      def fact(n):
      if n == 1:
      return 1
      else:
      num = 1
      while n > 1:
      num *= n
      n -= 1
      return num

      递归实现:
       

      def face(n):
      if n == 1:
      return 1
      return n * face(n-1)

      2、递归函数必须有一个结束条件,否则递归无法结束会一直鬼鬼下去,直到到达最大递归深度报错。

      3、递归的优缺点:

      优点:

      (1)递归使代码看起来更加整洁、优雅

      (2)可以用递归将复杂任务分解成更加简单的子问题

      (3)使用递归比使用一些嵌套迭代更简单

      缺点:

      (1)递归逻辑很难调试,递归条件处理不好容易造成程序无法结束,知道达到最大递归深度错误。

      2、递归占用大量内存,耗费计算机资源。

      数学运算

      1、abs()求绝对值,可以是整数,小数。

      >>> abs(10)
      10
      >>> abs(-10)
      10
      >>> abs(-10.023)
      10.023
      >>>

      2、round(2.6) 四舍五入取整,也就是3.0 round(2.33365,3) 四舍五入保留几位小数

      >>> round(2.6)
      3
      >>> round(2.4)
      2
      >>> round(-2.4)
      -2
      >>> round(2.465445,3)
      2.465
      >>>

      3、pow(2, 3) 求指数,相当于23 pow(2, 3, 5),求指数之后再求余数,相当于2的3次幂% 5

      >>> pow(2,3)
      8
      >>> pow(2,3,2)
      0
      >>> pow(2,3,4)
      0
      >>> pow(2,3,5)
      3
      >>>

      4、divmod(9,3) 返回除法结果和余数

      >>> divmod(7,3)
      (2, 1)
      >>> divmod(9,3)
      (3, 0)
      >>>

      5、max([1,5,2,9]) 返回最大值 9、min([9,2,-4,2]) 返回最小值 -4、sum([2,-1,9,12]) 求和

      >>> max([1,5,2,6])
      6
      >>> min([1,5,2,6])
      1
      >>> sum([1,6,5,3])
      15

      6、eval(表达式,globals = None,locals = None) 参数是一个字符串和可选的全局变量和局部变量。如果提供, globals必须是一个字典

      >>> a=1
      >>> b=2
      >>> c =3
      >>> eval('a+b')
      3
      >>> eval('a+b+c',{'c':3,'a':1,'b':3})
      7

      Python学习笔记(进阶2.0)

       类型转换

      1、int("5") 转换为整数,将数字类型的字符串,浮点数,转换成整数

      >>> int('666')
      666
      >>> int(3.6)
      3

      2、float(2) 转换为浮点数float,将数字型的字符串,浮点数,转换成字符串

      >>> float(3)
      3.0
      >>> float('3')
      3.0
      >>>

      3、str(2.3) 转换为字符串string

      >>> a = 1
      >>> type(a)
      <class 'int'>
      >>> b = str(a)
      >>> type(b)
      <class 'str'>
      >>>

      4、ord("A") 转换ASCII字符为相应的数字

      >>> ord('A')
      65
      >>> ord('a')
      97

      5、chr(65) 转换数字为相应ASCII码字符

      >>> chr(65)
      'A'
      >>> chr(66)
      'B'
      >>> chr(67)
      'C'

      6、bool(0) 转换为相应的布尔值,在Python中,0相当于False,

      下列对象都相当于False: ​​[], (), {}, 0, None, 0.0, ''​​

      >>> bool(0)
      False
      >>> bool([])
      False
      >>> bool('a')
      True
      >>>

      7、bin(32) 返回一个数字的二进制数。

      >>> bin(52)
      '0b110100'
      >>> bin(12)
      '0b1100'

      8、hex(32) 返回一个数字的十六进制

      >>> hex(32)
      '0x20'
      >>> hex(63)
      '0x3f'

      9、oct(56) 返回一个数字的八进制

      >>> oct(56)
      '0o70'
      >>> oct(9)
      '0o11'
      >>> oct(8)
      '0o10'
      >>>

      10、list((1,2,3)) 转换为表 list,可以将一个可迭代对象转成列表

      >>> list((1,2,3))
      [1, 2, 3]

      >>>

      11、tuple([2,3,4]) 转换为定值表 tuple

      >>> tuple([2,3,4]) 
      (2, 3, 4)
      >>> tuple({'a':1,"b":2})
      ('b', 'a')
      >>>

      12、dict(a=1,b="hello",c=[1,2,3]) 构造字典dictionary

      >>> dict(a=1,b="hello",c=[1,2,3])
      {'b': 'hello', 'a': 1, 'c': [1, 2, 3]}
      >>>

      13、bytes 返回一个字节对象

      >>> bytes('中'.encode('utf-8'))
      b'\xe4\xb8\xad'
      >>> bytes('中'.encode('gbk'))
      b'\xd6\xd0'
      >>>
      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/u_15888443/5881318,作者:mez_Blog,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:Java中的消息驱动架构设计

      下一篇:Java 容器技术:深入理解 JVM 内部机制

      相关文章

      2025-05-19 09:05:01

      【手把手带你刷好题】—— 61.按顺序打印i~j(递归)

      【手把手带你刷好题】—— 61.按顺序打印i~j(递归)

      2025-05-19 09:05:01
      打卡 , 递归
      2025-05-19 09:04:44

      js小题2:构造函数介绍与普通函数对比

      js小题2:构造函数介绍与普通函数对比

      2025-05-19 09:04:44
      new , 关键字 , 函数 , 对象 , 构造函数
      2025-05-19 09:04:30

      【Canvas技法】辐射式多道光影的实现

      【Canvas技法】辐射式多道光影的实现

      2025-05-19 09:04:30
      代码 , 函数 , 实现
      2025-05-19 09:04:22

      外设驱动库开发笔记54:外设库驱动设计改进的思考

      外设驱动库开发笔记54:外设库驱动设计改进的思考

      2025-05-19 09:04:22
      使用 , 函数 , 初始化 , 定义 , 对象
      2025-05-19 09:04:14

      C语言字符函数和字符串函数--(超全超详细)

      C语言字符函数和字符串函数--(超全超详细)

      2025-05-19 09:04:14
      函数 , 字符 , 字符串
      2025-05-16 09:15:24

      如何将一串数字用函数的方法倒过来(C语言)

      如何将一串数字用函数的方法倒过来(C语言)

      2025-05-16 09:15:24
      函数 , 数字 , 数组
      2025-05-16 09:15:17

      递归,搜索,回溯算法(3)之穷举,暴搜,深搜,回溯,剪枝

      递归,搜索,回溯算法(3)之穷举,暴搜,深搜,回溯,剪枝

      2025-05-16 09:15:17
      回溯 , 子集 , 数组 , 算法 , 递归
      2025-05-16 09:15:10

      【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

      【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

      2025-05-16 09:15:10
      结点 , 递归 , 遍历 , 链表 , 题目
      2025-05-14 10:33:31

      【数据结构】第一章——绪论(2)

      【数据结构】第一章——绪论(2)

      2025-05-14 10:33:31
      函数 , 实现 , 打印 , 理解 , 算法 , 输入 , 输出
      2025-05-14 10:33:31

      计算机小白的成长历程——习题演练(函数篇)

      计算机小白的成长历程——习题演练(函数篇)

      2025-05-14 10:33:31
      函数 , 字符串 , 数组 , 知识点 , 编写 , 迭代 , 递归
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5238202

      查看更多

      最新文章

      【Canvas技法】辐射式多道光影的实现

      2025-05-19 09:04:30

      外设驱动库开发笔记54:外设库驱动设计改进的思考

      2025-05-19 09:04:22

      C语言字符函数和字符串函数--(超全超详细)

      2025-05-19 09:04:14

      如何将一串数字用函数的方法倒过来(C语言)

      2025-05-16 09:15:24

      【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

      2025-05-16 09:15:10

      30天拿下Rust之高级类型

      2025-05-14 10:33:25

      查看更多

      热门文章

      Python|斐波那契数列

      2023-02-27 10:01:21

      PHP:将list列表转为tree树形数据

      2023-02-28 08:23:26

      Python 函数调用父类详解

      2023-04-23 09:44:31

      游戏编程之六 游戏编程的特点

      2024-09-25 10:13:46

      C#8.0新语法

      2023-02-07 10:34:04

      实现远程线程DLL注入

      2023-05-04 08:57:15

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      【剑指offer】2.2编程语言(p22-p25)——面试题1:string赋值运算函数

      C语言入门:printf函数的详细介绍

      Python 函数调用父类详解

      打印杨辉三角形

      【Java】快速排序

      编译和连接

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号