Python学习笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记相关的知识,希望对你有一定的参考价值。
set
1.set用于存储一组不重复的key值集合,但是不存储其value。
2.set有两种创建方式:
- 用set函数,参数是list集合,例如:s=set([1,2,3,4,5]);
- 用大括号包起来的集合字面量,例如: s={1,3}。
3.set常用操作
- add(key)方法向set中添加元素,如果元素已经存在则不会生效
- remove(key)方法可以删除元素。
- | 操作符可以取集合并集
- & 操作符取集合交集
- - 求两个集合的差
- ^求两个集合的异或。
# 创建set a_set = {1, 2} # 单值set不需要加逗号 a_set = set(a_list) # 创建空set a_set = set() # 创建空字典 a_set = {} #由于从 Python 2 沿袭而来历史的古怪规定,不能使用两个花括号来创建空集合 # 添加值 a_set.add(4) # 接受单个参数 a_set.update({2, 4, 6}) a_set.update([10, 20, 30]) a_set.update({3, 6, 9}, {1, 2, 3, 5, 8, 13}) # 删除值 a_set.discard(10) # 若元素不存在则什么也不做 a_set.remove(21) # 若元素不存在则报错 a_set.pop() # 随机删除值(set无序),若集合为空则报错 a_set.clear() # 清空set,等价于a_set = set() # 检测值 30 in a_set # 合并set a_set.union(b_set) # 返回一个新set a = a | b # 与上一条等效,下同 # 两个set的交集 a_set.intersection(b_set) # 返回一个新set a = a & b # 剔除set a_set.difference(b_set) # 返回a_set中不包含b_set值的新set a = a - b # 非交集 a_set.symmetric_difference(b_set) # 返回仅在其中一个set中出现的值的新set a = a ^ b # 对称性, 结果都为true # 集合是无序的。任何两个包含所有同样值(无一遗漏)的集合可认为是相等的 b_set.symmetric_difference(a_set) == a_set.symmetric_difference(b_set) b_set.union(a_set) == a_set.union(b_set) b_set.intersection(a_set) == a_set.intersection(b_set) # 检测子集 a_set.issubset(b_set) # 前者是否是后者的子集 b_set.issuperset(a_set) # 前者是否是后者的父集
三目运算符
a=1 b=2 if a<b: #一般条件语句的写法 k=a else: k=b c=a if a<b else b #三目运算符的写法
深拷贝浅拷贝
1、数字和字符串
对于数字和字符串而言,深拷贝,浅拷贝没有什么区别,因为对于数字数字和字符串一旦创建便不能被修改,假如对于字符串进行替代操作,只会在内存中重新生产一个字符串,而对于原字符串,并没有改变,基于这点,深拷贝和浅拷贝对于数字和字符串没有什么区别。
2、字典、列表等数据结构
浅拷贝
深拷贝
函数
1、定义
定义一个函数要使用def
语句,依次写出函数名、括号、括号中的参数和冒号:
,然后,在缩进块中编写函数体,函数的返回值用return
语句返回。
定义函数的格式为:
def 函数名(参数1,参数2,...,参数n): 函数体(语句块)
2、参数
普通参数
普通参数即是用户在调用函数是填入的参数,且参数位置必须与参数保持一致。
def foo(p1,p2,p3,...)
指定参数
指定参数即在用户调用函数的时候不需要按照函数中参数的位置中所填写,指定参数是需要制定参数对应的值。
def foo(p1=value1,p2=value2,...)
默认参数
默认参数可以写在定义参数的后面,如果用户调用函数是没有制定参数,那么就会用默认参数,如果用户指定了参数,那么用户指定的参数就会代替默认参数。
def foo(p1,p2=value2,...)
动态参数
动态参数可以接受用户输入的任何参数,包括字典、列表、元组等数据类型。
动态参数——传输元组
def foo(*args)
动态参数——传输字典
def foo(**args)
def foo(x,y=2,*args,**args)
以上是关于Python学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段