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. Python学习,第一课 - 基础学习

    前言. 本内容全部以python3所讲 一.Python安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...

  2. Golang - 指针与引用

    ​ Golang有指针 , 那么一切数据都是值传递吗 ? 都需要用户进行指针传递吗, 其实不然, 对于Go语言, 虽然有指针, 但是其也有引用传递. 是不是很绕, 因为引用传递就是指针传递哇 . 我们 ...

  3. 什么是LakeHouse?

    1. 引入 在Databricks的过去几年中,我们看到了一种新的数据管理范式,该范式出现在许多客户和案例中:LakeHouse.在这篇文章中,我们将描述这种新范式及其相对于先前方案的优势. 数据仓库 ...

  4. Django 2.2

    Django 2.2 LTS 发布,长期支持版来了 django中文网:https://www.django.cn/course/course-3.html Django 2.2 已正式发布,这是一个 ...

  5. Spring(五)核心容器 - 注册 Bean、BeanDefinitionRegistry 简介

    目录 前言 正文 1.BeanDefinitionRegistry 简介 2.registerBeanDefinition 方法注册 Bean 最后 前言 上篇文章我们对 BeanDefinition ...

  6. Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

    转载请注明出处http://www.cppblog.com/greatws/archive/2008/08/31/60546.html 最近有人问我关于这个的问题,就此写一篇blog Ansi字符串我 ...

  7. js笔记(4)--关于在window.onload()里面定义函数,调用函数无法执行~

    由于本人学习js学不久,所以,今天刚好遇到了一个关于在window.onload里面定义函数,然后在html里面调用函数时出现错误.具体见下面: <!DOCTYPE html> <h ...

  8. POJ_1050_最大子矩阵

    http://poj.org/problem?id=1050 这道题是最大子串的扩展,遍历过每一个子矩阵就好了,期间用了最大子串的方法. #include<iostream> #inclu ...

  9. num14---享元模式

    案例:

  10. 大数据篇:Zookeeper

    Zookeeper 1 Zookeeper概念 Zookeeper是什么 是一个基于观察者设计模式的分布式服务管理框架,它负责和管理需要关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Z ...