python基础语法3_python基础语法三

集合:

1.不同元素组成

2.无序

3.集合中的元素必须是不可变类型

s = {1, 2, 3 }

#定义集合

s = set('hello')print(s)

s.pop()#指定删除

s.remove("")

s.remove("sss") #删除元素不存在会报错

s.discard('sbb') #删除元素不存在,,不会报错

print(s)

View Code

集合的运算关系:

python_1 = ['lcg', "szw", "zjw"]

linux_1 = ["lcg", "szw"]

#取公共部分

python_and_linux_1 = []

for p_name in python_1:

if p_name in linux_1:

python_and_linux_1.append(p_name)

print(python_and_linux_1)

p_s = set(python_1)

l_s = set(linux_1)

#取交集的部分

print(p_s.intersection(l_s))

print(p_s&l_s)

# 去并集的部分

print(p_s.union(l_s))

print(p_s|l_s)

#差集

print(p_s-l_s)

print(p_s.difference(l_s))

#字符串格式化

msg = "i am hobby is alex", %"lhf"

msg = "i am hobby is %s ", %("lhf", "alex") \

函数:

python中函数的定义方法:

deftest(x):"The function definitiens"x+=1

return x

def : 定义函数的内容

test : 函数名

() : 内可定义形参

"":文档描述

x+=1: 泛指代码块或程序逻辑

return : 定义返回值

调用运行: 可以带参数,也可以不带参数

函数名()

函数参数:

#改成用函数写

def calc(x, y): #x, y, 形参

res = x**yreturnres

c= calc(a, b)#a, b 实参

print(c)

默认参数:

def handle(x, type = "mysql"):print(x)print(type)

handle('hello' , type='sqlite')

#参数组 : **字典 , *列表

def test(x, *args)

print(x)

print(args)

print(args[2])

test(1,2,3,4,5,6)

test(1, {"name":"alex})

def test(x, **kwargs):

print(x)

print(kwargs)

test(1, y=2, y=3)

def test(x, *args, **kw   args):

print(x)

print(args)

print(kwargs)

局部变量,和全局变量

name = lhf #全局变量

defchang():

name= lhf #局部变量

print(name)defchang():global name = lhf #全局变量

print(name)

函数就是变量!!!

函数递归:

defcalc(n):print(n)

calc(n)

calc(10)#自己调用自己!

defcalc(n):print(n)if int(n/2)==0returnnreturn calc(int(n/2))

calc(10)

person_list= ['alex', 'wupeiqi', 'yuanhao', 'linhaifeng', 'zsc']defask_way(person_list):if len(person_list) ==0:return '根本没人知道'person= person_list.pop(0)#取出一个值。

if person == 'linhaifeng':return '%说: 我知道,老男孩就在沙河汇德商厦下地铁就是' %person

ask_way(person_list)

ask_way(person_list)

View Code

递归特性:

1.必须有一个明确的结束条件

2.每次进入更深一层的递归时,问题规模相比上一次递归都应有减少

3.递归效率不高, 递归层次会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入

一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,所以,递归调用次

数过多会导致栈溢出)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值