函数定义与参数
1、定义函数
def learning():
print('报名')
print('学习')
print('退出')
learning()
运行结果:
报名
学习
退出
2、形参、实参
def learning(name,course,start,end):
print('{}报名课程:《{}》'.format(name,course))
print('从第{}节学习到第{}节'.format(start,end))
print('{}学习结束'.format(name))
learning('Tom','python基础',1,3)
运行结果:
Tom报名课程:《python基础》
从第1节学习到第3节
Tom学习结束
3、数值运算
def add_num(x,y):
result=x+y
print(result)
add_num(5,3)
运行结果:8
def add_num(x,y):
result=x+y
return result
a=10
result=a+add_num(5,3)
print(result)
运行结果:18
字符串相乘
def multiply(x,y):
return x*y
print(multiply('你好啊',5))
输出结果:
你好啊你好啊你好啊你好啊你好啊
4、找相同字符
def inter(seq1,seq2):
res=[]
for x in seq1:
if x in seq2:
res.append(x)
return res
s1='dsjfsjgsbj'
s2='oaidsfsjvsidj'
l=inter(s1,s2)
print(l)
输出结果:
['d', 's', 'j', 'f', 's', 'j', 's', 'j']
5、函数变量作用范围(作用域)
x=55
def func():
x=99
print(x)
print('全局x:',x)
print('函数内x:')
func()
输出结果:
全局x: 55
函数内x:
99
global():可对全局函数赋值
x=55
def func():
global x
x=99
print(x)
print('全局x:',x)
print('函数内x:')
func()
print('全局x:',x)
输出结果:
全局x: 55
函数内x:
99
全局x: 99
调用
def func():
x=100
def nested():
x=99
print(x)
print(x)
func()
输出结果:
100
def func():
x=100
def nested():
x=99
print(x)
nested()
print(x)
func()
输出结果:
99
100
def func():
x=100
def nested():
x=99
print(x)
print(x)
nested()
func()
输出结果:
100
99
传递的两种类型
def change_list(l):
l[0]=99
l=['dshfegh.com','ehufhf.com','dsfhlif.com']
print('原始列表:',l)
change_list(l)
print('操作后列表:',l)
输出结果:
原始列表: ['dshfegh.com', 'ehufhf.com', 'dsfhlif.com']
操作后列表: [99, 'ehufhf.com', 'dsfhlif.com']
def change_list(l):
l[0]=99
l=['dshfegh.com','ehufhf.com','dsfhlif.com']
print('原始列表:',l)
change_list(l.copy()) 或者复制第一个元素到在以后一个元素 change_list(l[:])
print('操作后列表:',l)
输出结果:
原始列表: ['dshfegh.com', 'ehufhf.com', 'dsfhlif.com']
操作后列表: ['dshfegh.com', 'ehufhf.com', 'dsfhlif.com']
迭代没咋懂!!next()函数用不了。等调好了再补上
一、python中哪些对象可以用for循环或者遍历:可迭代的对象
1、for循环
for x in [1,2,3]:
print(x)
2、元祖
for x in (1,2,3):
print(x)
3、字典表
d={‘a’:1,‘b’:2}
for k in d:
print(k)
5、文件 file
f=open(‘tx.txt’,encoding=‘utf8’)
for line in f:
print(line,end=’ ')
next() 移动指针到下一个元素 这个没搞明白,报错了!
1、next()为迭代函数,占内存小
f=open(‘tx.txt’,encoding=‘utf8’)
f.next()
f=open(‘tx.txt’,encoding=‘utf8’)
for x in f.readlines():
print(x)
2、f本身具有next功能,但列表没有
3、可迭代对象
f=open(‘tx.txt’,encoding=‘utf8’)
iter(f) is f
True
l=[1,2,3]
res=[]
for x in l:
res.append(x**2)
res
[1, 4, 9]