python 學習深淺拷貝、集合、、作用域、函數

2020開年新冠肺炎流行大部分人員、工廠、單位無法復工生產,人員隔離每天外出都要戴口罩,在家隔離期間悶壞了感覺把半年的口糧都幹掉了,嚴重考察大家的資本厚度,估計很多年輕人快要吃土,咱們還是要繼續學習python爭取有機會增加錢包厚度,爭取在以後的生活中可以像有錢人一樣實現財務自由

深淺拷貝

#  淺拷貝----只拷貝第一層copy()
import copy
husband = ['xiaohu', 111, [15000, 6000]] wife = husband.copy() #淺拷貝
wife[0] = 'jiujingfazi'
wife[1] = 222
wife[2][1] -= 3000
print(husband)
print(wife) # 深拷貝----deepcopy() 拷貝一份
xiaosan = copy.deepcopy(husband) #深拷貝
xiaosan[0] = 'cangjingkong'
xiaosan[1] = 333
xiaosan[2][1] -= 1999
print(xiaosan)
print(wife) #**************************************** set集合,

特點:去除重複(如下打印),無序,可變集合:可添加和刪除元素,非可哈希的,不可做鍵
集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了
关系测试,测试两组数据之前的交集、差集、并集等关系 s = set('cangjingkong')
print(s) #{'k', 'i', 'a', 'c', 'g', 'j', 'o', 'n'} s4 = set([12, 'dd', 'ff'])
s4.add('uu')#添加一個元素
print(s4) #******************************************* s4.update('fuck')#更新
print(s4) s4.update('jjj')#更新,重複的話只更新進去1個
print(s4) s4.update([33, 'li', 'dd'])#更新
print(s4) s4.update('45', '67')#更新
print(s4) s4.remove(33)
print(s4) s4.pop()
print(s4) s4.clear()
print() del s4
print(s4)
#*******************************
#集合類型操作符 print(set('hua') == set('huaua'))#返回一個True
print(set('hua') < set('huawwww'))#返回一個Tru s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 基本操作: t.add('x') # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项: t.remove('H') len(s)
set 的长度 x in s
测试 x 是否是 s 的成员 x not in s
测试 x 是否不是 s 的成员 s.issubset(t)
s <= t
测试是否 s 中的每一个元素都在 t 中 s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中 s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t)
s & t
返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t)
s - t
返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t)
s ^ t
返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy()
返回 set “s”的一个浅复制
作用域

變量查找順序:LEGB,局部作用域>外層作用域>當前模塊作用域>python內置作用域

L:local局部作用域
E:enclosing 嵌套作用域
G:global 全局作用域
B:built-in 系統固定模塊裏面的變量
******************
x= int(2.9) #int built-in count = 0 #global def outer():
o_count = 1 #enclosing
def inner():
i_count = 2 #local
print(o_count)
inner()
outer()
***************** 只對模塊,類,函數才能引入新作用域
對於一個變量,內部作用域先聲明就會覆蓋外部變量,不聲明直接使用就是使用的外部作用域變量
內部作用域要修改外部作用域變量時,全局變量要使用glob關鍵字,嵌套作用域變量要使用nonlocal關鍵字 函數是有作用域的,函數中的變量只能在這個函數中使用
先找自己的部分,找不到再找外部作用域 由內而外的找 global :全局變量
nonlocal:局部變量
函數

1.避免重複代碼
2.方便修改,更易擴展
3.保持代碼一致性 函數創建
**************************
define 函數名(參數):#定義一個函數
print('ok') 函數名()#調用這個函數
*************************** 函數名命名規則:
函數名區分大小寫
函數名必須以下劃線或者字母開頭,不能以數字或者特殊字符命名
函數名不能是保留字
*******************
def add(a,b):
print(a+b) add(2,3)
add(4,5)
******************* 函數的參數:
必備參數
關鍵字參數
默認參數
不定長參數:*args放左邊,**kwargs放右边 函數名可以進行賦值
函數名可以作為函數參數,還可以作為函數的返回值


python 學習深淺拷貝、集合、、作用域、函數的更多相关文章

  1. [Python學習筆記] 使用xlwings 插入註解 (forked 版本)

    到今天為止 xlwings 還沒有插入註解的功能 去原始開發者的 Github Pull Requests 他說之前有人有建議要加入這個功能 但他還沒更新~ 如果需要使用 Python 來插入註解的話 ...

  2. [Python學習筆記] 利用 Python在Excel 插入註解

    用Python 來處理excel 檔 用過了 openpyxl 還有 pyexcel目前覺得除了讀寫如果還要使用另外的功能 (像是讀取格子裡的公式)可以用 xlwings  他的首頁標題 " ...

  3. [Python學習筆記] 抓出msg信件檔裡的附件檔案

    想要把msg信件檔案的附件抓出來做處理,找到了這個Python 模組 msg-extractor 使用十分容易,但是這個模組是要在terminal裡執行,無法直接打在IDLE的編輯器上 所以稍微做了修 ...

  4. [Python學習筆記] 在Centos上安裝 Django

    曾在模擬器跟Digital Ocean上安裝成功,我在 Digital Ocean上的是CentOS 7 x64,模擬器的則是Centos 6.雖然Centos 本身已經裝好 Python 但是是2. ...

  5. 流暢的python學習-3

    一.文件操作 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Thu Apr 23 20:59 ...

  6. [Python學習筆記] 使用 selenium 抓取網頁並且雙擊滑鼠 (double click)

    一開始使用的時候 看官方文件 以為使用 double_click()即可 但後來出現錯誤 AttributeError: 'WebElement' object has no attribute 'd ...

  7. 無心插柳的Linux學習者代言人——蔡德明

    誰是「蔡德明」恐怕沒有多少人知道,不過提到「鳥哥」這個稱號,在臺灣的Linux社群幾乎是無人不知無人不曉,蔡德明正是鳥哥的本名.鳥哥究竟多有名? 如果你是有意學習Linux的初學者,卻不知如何下手,1 ...

  8. 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

    今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林 ...

  9. 機器學習基石 机器学习基石 (Machine Learining Foundations) 作业2 Q16-18 C++实现

    大家好,我是Mac Jiang,今天和大家分享Coursera-NTU-機器學習基石(Machine Learning Foundations)-作业2 Q16-18的C++实现.尽管有非常多大神已经 ...

随机推荐

  1. Java容器解析系列(13) WeakHashMap详解

    关于WeakHashMap其实没有太多可说的,其与HashMap大致相同,区别就在于: 对每个key的引用方式为弱引用; 关于java4种引用方式,参考java Reference 网上很多说 弱引用 ...

  2. 初入计科,首次接触C的感受

    1 你对计算机科学与技术专业了解是怎样? 答:一开始我对这个专业并无了解,觉得无非是把电脑给学透.经过一周的学习后,我深刻地感觉自己对这个专业深深的误解. 通过翻阅书籍,上网浏览相关信息,我认为该专业 ...

  3. go--->共享内存和通信两种并发模式原理探究

    共享内存和通信两种并发模式原理探究 并发理解 人类发明计算机编程的本质目的是为了什么呢?毫无疑问是为了解决人类社会中的各种负责业务场景问题.ok,有了这个出发点,那么想象一下,比如你既可以一心一意只做 ...

  4. 从桌面到Web - 领域模型的创建

    天佑武汉,天佑中国.这次为全国人民作出巨大牺牲的武汉人是坚强和担当的. 这次疫情期间的自我隔离的一个副作用是第一次享受这个超长假期,本来想好好学习一下Web技术的,但家里的唯一一台计算机被占用,不得已 ...

  5. Shell常用命令之主机检测(ping)

    主机检测命令ping 向网络主机发送ICMP回传请求 常用选项 -A:洪水攻击选项,启用此功能能在短时间之内发送大量的ping包 -b:开启ping网桥模式,默认不允许ping网桥 -c:设置发送多少 ...

  6. SpringBoot缓存篇Ⅰ--- 缓存抽象

    缓存是每一个系统应该考虑的功能,它可以用来加速系统的访问,提升系统性能,例如要经常访问的高频热点数据,例如某一个商品网站的商品信息,商品信息存储在数据库中,若每次访问都要查询数据库的话,这样的操作耗时 ...

  7. SQLException:The server time zone

    报错信息如下: java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represen ...

  8. 讲解 json 和 pickle 模块

    首先是引入json 和 pickle 的原因是 普通的方法支持的数据类型太少 局限性大  比如下面的例子 dit = {'name':'deng1mei','age':'26','sex':'girl ...

  9. Hexo+coding实现自动化部署

    前言 昨天写了一篇利于云环境写博客,但是让群里大佬们看了下.评论道:"写的不错,但还是觉得这个云环境太繁琐了,没有CI/CD自动化部署方便".于是我便百度查了下,网上文章大部分是通 ...

  10. 18、DHCP

    Dynamic Host Configuration Protocol DHCP的前身:Bootstrap DHCP的封装 DHCP基本知识点 1 .DHCP协议在RFC2131中定义,使用udp协议 ...