python05

#面试问 哪些对象可以使用for循环 或者可以遍历
#可迭代的对象或者迭代即协议的对象支持遍历和 循环

f=open(‘data.txt’,encoding=‘utf-8’)

print(f.next())

#readlines 是返回一个列表,最好不用,因为返回列表值,占的内存较大

#迭代工具 for 推导 map 迭代器对象 : 已经实现 和 可迭代对象:iter() 用于生成迭代器

列表list 不能迭代,但是可用for iter()实现迭代

urls=[1,2,3]
print (iter(urls) is urls)
i =iter(urls)
print (i.next())
print (i.next())#用于迭代
#返回所有的元素,所有的元素要平方值
l=[1,2,3]
res=[]
for x in l:
res.append(x**2)
print (res)
i=iter(l)
while True:
try:
x=res.append(next(i)2)
except StopIteration:
break
print (res)
res=[x
2 for x in l]
print (res)
emp={‘name’:‘tom’,‘aeg’:20}
for k,v in emp.items():
print (k,v)
print (urls)
urls=[‘hwjgjw.com’,‘hhiuiiy.com’]
res=[url.upper() for url in urls]#改成大写
print (res)
res2=[url for url in urls if url.endswith(’.com’)]#是endswith 不是endwith
print(res2)
#内置可迭代对象 range() map() zip()
#zip 将两个集合合成一个
result=zip([‘x’,‘y’,‘z’],[1,2,3])
for x in result:
print (x)
#zip 有next方法 result.next(),属于可迭代对象
def double_number(x):
return x*2
l=[1,2,3,4,5]
result=list(map(double_number,l))#将l 应用在double_nnumber,map的作用是对每个对象都有相同的操作
print (result)
#函数 最大化代码重用 最小化代码冗余 过程分解
#定义函数
#调用函数
def learning(name,course,start,end):
print (’{}报名课程:《{}》’.format(name,course))
print (‘从第{}节到第{}节’.format(start,end))

learning(‘tom’,‘biancheng’,1,3)
def add_number(x,y):
result=x+y
return result

a=10
result=a+add_number(5,3)
print (result)
#函数 定义 def方法名(参数1…):
#调用 直接函数名(实际参数)
#变量作用域 全局global 局部 local Built-in 封装 Enclousure local 是最底层 LEGB

def gg(seq1,seq2):
res=[]
for x in seq1:
if x in seq2:
res.append(x)

return res

s1=‘ghsdiuyg’
s2=‘dgkegfie’
l=gg(s1,s2)
print (l)

x=55
def func():
global x
x=99
print (x)

print(‘quanju’,x)
print (‘jubu’)
func()
print (‘全局x:’,x)
#参数
def change_number(x):
x+=10
x=5

参数 传递 不可变类型传递副本给函数 函数内操作不会影响原始值 包括int 浮点型 tuple元组 字符串

可变类型 传递地址引用 函数内操作可能会影响原始值 包括 列表 字典表

def change_list(l):

l[0]=99

l=[‘uke.cc’,‘codeclassrome.com’,‘youpinketang’]

print (‘原始列表:’,l)

change_list(l)# change_list(l.copy())

print (‘操作后的列表’,l)

def change_str(s):

s=‘uke.cc’

url=‘youpinketang.com’

print (url)

change_list(url)

print (url)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值