Python基础语法重温第三天

#实现了迭代协议的对象可以使用迭代循环,内部方法__next__()可以获取下一个元素
# #iter()判断对象是否应用迭代器功能
f = open('data', encoding='utf8')
emp = iter(f) is f
print(emp)
print(f.__next__())
print(next(f))

urls = ['baidu.com', 'qq.vip','taobao.com' ]
print(iter(urls) is urls)
#-->false
res = [url.upper() for url in urls]
res = [url for url in urls if url.endswith('com')]
print(res)


l = [1, 2, 3]
res = []
for x in l:
    res.append(x**2)
print(res)

result = [x**2 for x in l]
print(result)

l = iter(l)
while True:
    try:
        res.append(next(l)**2)
    except StopIteration:
        break
print(res)

emp = {'name': 'Tom', 'age': 20, 'job': 'dev', 'salary': 8000.00}
for k,v in emp.items():
    print(k, v)

print(emp.items())


#函数的使用
#定义
def read_book():
    print('拿来了')
    print('看书')
    print('看完了')
#调用
read_book()

#带简单参数的函数
def learning(name, course, start, end):
    print('{}报名:{}'.format(name,course))
    print('从{}学习到{}'.format(start,end))
    print('{}学习结束'.format(name))


learning('Tom', 'Python', 1, 3)



#带返回值的函数
def add_num(x, y):
    result = x + y
    return result


sum = add_num(3, 6)
print(sum)


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

s1 = 'baidu,com'
s2 = 'taobao.com'
print(intersect(s1, s2))

#函数中变量的作用域

x = 55
#
def func():
    global x #全局
    x=99
    print(x)


print(x)--55
func()--99
print(x)--99

def func():
    x = 100
    def nested():
        nonlocal x #非本地
        x = 99
        print(x)
    nested()
    print(x)

func()--99


#不可变类型int char
def change_num(x):
    x += 10


x = 5
print(x)
change_num(x)
print(x)


#可变类型
def change_list(l):
    l[0] = 99


l = ['a', 'b', 'c']
print(l)
#改变
change_list(l)
#不改变列表原始数据
change_list(l.copy())
change_list(l[:])
print(l)

在这里插入图片描述在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值