python---元组tuple、字典dict、集合set等

python元组、字典、集合等~
1.元组 tuple
    元组是不可改变的序列,同list一样,元组可以存放任意类型的元素
    元组一但创建将不可改变

   type(x)函数   可以返回对象x的类型

元组的运算:
    +   用于拼接方式创建一个新的元组
    *   用于生成新的重复的元组

元组的比较运算、in /not in 运算符、索引、切片,规则与列表的规则完全相同
但是元组不支持索引赋值、切片赋值,元组的切片返回一个新的元组

2.字典 dict
	字典是一种可变的容器,可以无序的存储任意类型的以键-值对形式存在的数据,
	字典的键不能重复,字典的键会自动去重,且只能用不可变类型作为字典的键

	字典是可迭代对象,字典只能对键进行访问


字典和列表比较:
1.都是容器,都是可变对象
2.索引方式不同
3.字典的插入,删除,修改的速度可能会比列表快(重要)
4.列表的存储是有序的,字典的存储室无序的


用于字典和集合的函数:
    len(x),max(x),min(x),sum(x),any(x),all(x)

 reversed(x)  返回反向顺序的可迭代对象

3.集合 set
    集合是可变的容器
    集合内的数据对象都是唯一的(不能重复多次的)
    集合是无序的存储结构,集合中的数据没有先后关系
    集合内的元素必须是不可变对象
    集合是可迭代对象
    集合是相当于只有键没有值的字典(键则是集合的数据)
    列表不能放在集合里,集合也不能放在集合里

集合是可迭代对象,可以用于for语句中

固定集合 frozenset
  固定集合是不可变的,无序的,含有唯一元素的集合


容器类小结:
  字符串 str
  列表  list
  元组 tuple
  字典 dict
  集合 set
  固定集合 frozenset

4.函数
	函数用于封装语句块,提高代码的重用性
	def 语句:
	    语法:
		def 函数名(形参列表):   #形参列表没用的时候可以为空
		    语句块(代码块)
	
	函数调用是一个表达式
		如果函数内部没有return语句,则函数执行完毕后返回None对象

4.return
	return 语句:用于函数中结束当前函数的执行,返回到调用该函数
	           的地方,同时返回一个对象的引用关系


5.函数的形参
    接受调用者传递过来的数据

	函数的形参的四种定义方式
	    位置形式
	    星号元组形参  *args
	    命名关键字形参  *, *args 之后
		强制所有的参数都必须用关键字传参或字典关键字传参
	    双星号字典形参  **kwargs 绑定的是一个字典


	函数的参数说明:
	    位置形参,缺省参数,星号元组形参,双星号字典形参等可以混合使用

	    函数参数自左至右的顺序为:
		1.位置形参
		2.星号元组形参
		3.命名关键字形参
		4.双星号字典形参


6.全局变量和局部变量
	1.局部变量只能在其被声明的函数内部访问,而全局变量可以
	在整个模块范围内访问
	2.在函数内部赋值语句不会对全局变量造成影响

7.globals() / locals函数
    globals()  返回当前全局作用域内变量的字典
    locals()   返回当前局部作用域内变量的字典

8.函数变量:(重要)
	1.函数名是变量,它在创建函数时绑定一个函数
	2.一个函数可以作为另一个函数的实参传递
	3.函数可以返回另一个函数
	

9.函数的嵌套定义
    函数嵌套定义是指一个函数里用 def语句来创建另一个函数的情况


变量名查找规则:
    在访问变量时,先查找本地变量,然后是包裹此函数外部的函
数内的变量,之后是全局变量,最后是内建作用域内的变量
在默认情况下,变量名赋值会在当前作用域内创建变量和修改变量
只能读取Builtin内建函数作用域的变量 不能修改

global 声明一个变量是在全局作用域内
nonlocal 语句声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量
创建函数可以使用def语句、lambda 
lambda 只是一个表达式,它用来创建一个函数
       当lambda 表达式调用时,先执行冒号(:)后的
       表达式,并返回表达式的结果的引用      
      lambda 表达式创建的函数只能包含一条表达式    
      lambda比函数简单且可以随时创建和销毁,有利
     于减少程序的耦合度
eval() 函数:拿到的字符串可以当成表达式执行(前提字符串是表达式)	
exec() 函数:拿到的字符串可以当成是程序执行(前提是字符串是程序)

你可能感兴趣的:(python,元组tuple,字典dict,集合set)