我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python全栈Day 19部分知识点(

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python全栈Day 19部分知识点(

  浅拷贝

a=[[1,2],3,4]

b=a[:]  #b=a.copy()

  浅拷贝 作用

1 #共享账户
2 husband=['Xiaohu',123,[15000,9000]] #姓名,卡号,额度,余额
3 wife=husband.copy()  #浅拷贝
4 wife[0]='Xiaomei'
5 wife[1]=345
6 husband[2][1]-=3000
7 print(wife)

输出

['Xiaomei', 345, [15000, 6000]]

 

import copy

浅拷贝copy.copy()

深拷贝copy.deepcopy()

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 # a=[[1,2],3,4]
 5 # b=a.copy()
 6 # b[1]='cy'
 7 # print(a,b)
 8 # b[0][0]=5
 9 # print(a,b)
10 import copy
11 #共享账户
12 husband=['Xiaohu',123,[15000,9000]]
13 wife=husband.copy()
14 wife[0]='Xiaomei'
15 wife[1]=345
16 xiaosan=copy.deepcopy(husband)  #深拷贝
17 xiaosan[0]='xiaoling'
18 xiaosan[1]=666
19 xiaosan[2][1]-=1999
20 husband[2][1]-=3000
21 print(wife)
22 print(xiaosan)

输出

['Xiaomei', 345, [15000, 6000]]
['xiaoling', 666, [15000, 7001]]

所以说,改变3,4的话不会使a改变,而改变1,2的时候会变。

 

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 a=[[1,2],3,4]
4 b=a.copy()
5 b[1]='cy'
6 print(a,b)
7 b[0][0]=5
8 print(a,b)

输出

[[1, 2], 3, 4] [[1, 2], 'cy', 4]
[[5, 2], 3, 4] [[5, 2], 'cy', 4]

修改可变对象(比如列表)会影响之前,修改不可变对象(整型)不会。

a是一个列表(复杂数据类型),执行b=a之后,a,b共享一个内存空间,b相当于a的别名;而a是一个整型数字(简单数据类型),b=a,再改变a对b无影响。

浅拷贝只会拷贝第一层。一般来说浅拷贝就够了,不然克隆一份会占很多空间。

  集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键(字典的键要求是可哈希的),集合本身不可以作为键。

  创建方式只有一种,s=set(...)

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 s=set('alex li')
4 print(s)

输出

{' ', 'x', 'l', 'i', 'a', 'e'}

  可以去重,是一组不同元素的组合,{}括起来。

  集合可以和列表相互转换,set(),list(),表象上看转变之后括号变了。

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 l=['yangyang','yuanyuan','yangyang']
4 s=set(l)
5 print(s)
6 l_new=list(s)
7 print(l_new)

输出

{'yuanyuan', 'yangyang'}
['yuanyuan', 'yangyang']

  frozenset不可变集合  

  set集合的更新:add()  #添加一个元素  

             update()  #将元素作为序列,遍历添加

           remove()  #括号内写要删除的元素名

           pop()  #随机删一个

           clear()  #清空集合中的元素

           del s  #删掉集合这个容器

 

  集合的等价print(set('alex')==set('alexexex'))  输出True  #等价

  子集和超集print(set('alex')==set('alexwwww'))  输出False

  交集intersection  #等效于a & b  #print(a.intersection(b))打印二者公有的元素组成的集合

  并集union  #等效于a | b

  差集difference  #等效于a - b  #print(a.difference(b))打印在a中却不在b中的元素组成的集合

  反向交集(对称差集:集合A与集合B的对称差集定义为集合A与集合B中所有不属于A∩B的元素的集合)  #等效于a ^ b  symmetric_difference  除去公有元素之外的元素组成的集合

  issuperset超集判断  #等效于a > b  例如a.issuperset(b)判断的是a是否为b的超集

  issubset子集判断  #等效于a < b

  函数!=数学中的function()

  计算机函数(语句的封装) == subroutine 子程序  procedure 过程

  作用

    1.减少重复代码;

    2.方便修改,更易扩展;

    3.保持代码一致性

  函数名命名规则:

    下划线或字母开头,由字母、数字、下划线组成,不可使用任意标点;

    区分大小写;

    不能是保留字(python内部用的名字)。

  返回当前时间的操作:import time  time_format='%Y-%m-%d %X'  time_current=time.striftime(time_format)

  关于return:return意味着函数结束。如果没有回返回None;如果返回多个对象,python会把它们封装成元组返回。

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 #高大上加法器
 4 def  add(*args):    #不定长参数  *args元组(无名参数)  **kwargs字典(有名参数)
 5     print(args)
 6     sum=0
 7     for i in args:
 8         sum+=i
 9     print(sum)
10 add(1,2,3,4,5,6)

输出

(1, 2, 3, 4, 5, 6)
21

  函数参数位置顺序:关键字参数-默认参数-*args-**kwargs

 

  函数的作用域

 

  

 

 

  

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python全栈Day 19部分知识点(

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python全栈Day 19部分知识点(

浅拷贝a=[[1,2],3,4]b=a[:]  #b=a.copy()  浅拷贝 作用1 #共享账户2 husband=['Xiaohu',123,[15000,9000]] #姓名,卡号,额度,余额3 wife=husband.copy(
2023-01-30

Python全栈Day 9部分知识点

python中一切皆对象。运算  2**4=16  即求2的4次方  39/8=4.875  39//8=4条件语句 if 条件:   pass    #空语句块,不可省略 else:   语句块  Linux系统中:  文件名:    .
2023-01-30

Python全栈Day 13部分知识点

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # 查看,返回上一层,退出操作。 4 dic = { 5 '植物': 6 { 7 '草本植
2023-01-30

Python全栈Day 14部分知识点

前面涉及数据类型和变量的总结  变量的作用是用来记录状态变化,变量名:“门牌号”,变量值:内存中开辟一个“小房间“”,存在里面。  数据类型:字符串、数字、列表、元组、字典。    可变:列表、字典    不可变(重新赋值,用ID号查看发现
2023-01-30

Python全栈Day 20部分知识点

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import time 4 def cal(l): 5 start_time=time.time() 6 res=0 7
2023-01-30

Python全栈Day 12部分知识点

可迭代对象:列表、字符串、元组  定义    列表是一种类,中括号把数据元素(六大数据类型都可以)括起来,用逗号作分割符。      有序,元素可被修改。  特性    深灰“魔法”    ——可索引(下标)取值;    ——可切片,切片结
2023-01-30

Python全栈Day 15部分知识点

约定俗成的规则:全局变量名大写,局部变量名小写。  全局变量没有缩进,顶格写。  如果函数的内容无global关键字,优先读取局部变量,能读取全局变量,无法重新赋值,但是对于可变类型,可以对内部元素进行操作;如果有global关键字,变量本
2023-01-30

Python全栈学习_day009知识点

今日大纲:1. 函数的初识2. 函数的返回值3. 函数的参数 1. 函数的初识统计字符串s的总个数(不能用len)s='fkahfkahofijalkfkadhfkjadhf'count = 0for i in s: count +=
2023-01-30

Python全栈学习_day003知识点

今日大纲:1. 基础数据类型 总览2. int3. bool4. str5. for循环 1. 基础数据类型 总览   int: 用于计算,计数等 str:'这些内容',用户少量数据的存储,便于操作 bool:True, Fal
2023-01-30

Python全栈学习_day001知识点

今日大纲:1. 变量。 *****2. 常量。**3. 注释。***4. 基础数据类型初识(int,str,bool). *****5. 用户输入 input *****6. 流程控制语句if。 *****1. 变量编码方式为utf-8:#
2023-01-30

Python全栈学习_day002知识点

今日大纲:1. while循环2. 格式化输出3. 运算符4. 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') pri
2023-01-30

JavaScript、Ajax、jQuery全部知识点,1分钟速懂!

本文将详细解读JavaScript、ajax、jQuery是什么?他们可以实现什么?1、JavaScript定义:javaScript的简写形式就是JS,是由Netscape公司开发的一种脚本语言,一种广泛用于客户端Web开发的脚本语言,常
2023-06-03

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录