*集合:
set:持有一系列元素,但是set元素没有重复,并且无序
如何创建:set()并传入一个list,list的元素将作为set 的元素。
s=set([‘a‘,‘b‘,‘c‘]) print(s) //set([‘a‘, ‘c‘, ‘b‘]) print(len(s)) //3
如何访问:用in操作符判断有没有
=([,,,]) ( )//True
set的特点:
1.内部结构和字典很像,唯一区别是不存储value
=([,,,,,,]) x1=x2=x1 : () (x2 ): ()//ok
遍历set:
通过for循环来遍历set
=([(,),(,),(,)]) x : x[],,x[]
//lisa : 85 adma : 95 bart : 50
更新set
两件事:1把新的元素添加到set中
2 把已有元素从set中删除
add():添加元素 sets.add(新元素),如果添加已有元素,不报错,但也不会加进去
s=set([1,2,3]) 添加
eg:
s=set([1,2,3])s.add(4)print(s)//set([1, 2, 3, 4])
remove():删除set中的元素
sets.remove(删除的元素)
用add()可以直接添加,用remove()前需要先判断
*函数
什么是函数:是一大块可重用的代码,它是有名称的代码块,接受输入、提供输出并 可存储在文件中供以后使用。
调用函数
函数分为两大类:自定义函数、内置函数
a. pow(x,y) 计算x**y x的y次方
通过 ()去调用函数
print(pow(2,5)) //32
函数没有任何输入(没有参数),也必须在函数后加()
如果要不加(),会指向一个函数。
b. cmp(x,y),如果x<y ,返回-1,如果x==y,返回0,如果x>y 返回1 [2,34,1,5,98]
c. sum(x,y,...) print sum([1,6])
d. append() 用于在列表末尾添加新的对象
list.append(obj) -obj添加到末尾的对象
e.不返回值的函数 print
=[] x=x<=: .append(x*x) x=x+(()) //42925 如果函数没有返回值,则会返回none
python中给函数赋值,会导致无法访问原来指向的函数,要恢复原样,需要重启python
自定义函数:使用def语句,依次写出函数名、括号、括号中的参数和:,然后在缩进块中编写
函数体,函数的返回值用return语句返回。
函数名:只能包含字母、数字和下划线,不能以数字开头,指出其用途的简单名称。
def names(x):
函数体
return
names(参数)
注意:函数体内部的语句在执行时,一旦执行到return语句时,函数就执行完毕,并将结果
返回。因此函数内部通过条件判断和循环可以实现非常复杂的逻辑
如果没有return语句,函数执行完毕后会返回结果,结果能为None
return 也返回None return
return 可以放在函数任何地方,通常末尾。
变量的作用域:
函数带来一个重要的问题就是作用域,变量的作用域,指的是它在程序的哪些地方可以访问
或可见。
分为两种:局部作用域,全局作用域
局部变量,全局变量
f/elif/else try/execpt/final for/while 不会汲到变量作用域的更改,它们代码块中的
变量,在外部也是可以访问的。
变量的搜索路径:本地变量>>全局变量
修改局部变量为全局变量:global
局部变量的生存期:局部变量只能在函数中使用,函数结束时,局部变量将被自动删除
全局部量:在函数外声明的变量,程序中的任何代码和任何函数都可以读取,然而在函数
中给全局变量重复赋值时需要特别小心
关键字:
有特殊含义的单词,又叫保留字,是电脑里预先定义好的,有特别意义的标识符
python中的关键字包括如下:关键字不能用作函数名
and del form while as elif global with assert else if pass break import
print class in exec raise continue finally is return for lambda try
参数:调用函数时可使用的正式参数类型
1.必备参数
2.关键字参数
3.默认参数
4.不定长参数
1.必备参数:以正确的顺序传入函数,调用时数量必须和声明时的一样
练习:定义一个函数,显示姓名和年龄
2.关键字参数:
和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值,
使用关键字参数允许函数调用时参数的顺序与声明时不一致,python解释器能够用参数名
匹配参数值。
3.默认参数:
调用函数时,默认参数的值如果没有传入,则被认为是默认值
4.不定长参数
可能需处理一个函数比当初声明时更多的参数,这些参数叫做不定长参数
* 会存放所有未命名的变量参数,
def 函数名(*info)
匿名函数:
用lambda 来创建匿名函数
lambda 的主体是一个表达式,而不是代码块
注意:匿名函数只能包含一个语句
语法:
var = lambda arg1,arg2... : (expression(表达式))
python 模块
保存一个python代码的文件,模块能定义函数、类和变量,模块里也能包含可执行的代码
import语句:引入模块
语法:import module(模块名称)...
注意:一个模块只会被导入一次,不管你执行多少次import .这样可防止导入模块一遍又一遍执行