Python基础语法—第4天

1.生成器

yield函数作用

 2.函数

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

3.参数传递

a=[1,2,3]
a="Runoob"

 以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。

  • 不可变类型:类似 C++ 的值传递,如整数、字符串、元组。如 fun(a),传递的只是 a 的值,没有影响 a 对象本身。如果在 fun(a) 内部修改 a 的值,则是新生成一个 a 的对象。

  • 可变类型:类似 C++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后 fun 外部的 la 也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

4.不定长参数

如何使用不定长参数

5.lambda匿名函数

lambda函数语法:

lambda [arg1 [,arg2,.....argn]]:expression

6.列表推导式

>>> [3*x for x in vec if x > 3]
>>> vec1 = [2, 4, 6]
>>> vec2 = [4, 3, -9]
>>> [x*y for x in vec1 for y in vec2]
[8, 6, -18, 16, 12, -36, 24, 18, -54]
>>> [x+y for x in vec1 for y in vec2]
[6, 5, -7, 8, 7, -5, 10, 9, -3]
>>> [vec1[i]*vec2[i] for i in range(len(vec1))]
[8, 12, -54]

7.遍历技巧

如何巧妙使用遍历

在字典中遍历时,关键字和对应的值可以使用 items() 方法;

在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数;

同时遍历两个或更多的序列,可以使用 zip() 组合;

要反向遍历一个序列,首先指定这个序列,然后调用 reversed() 函数;

要按顺序遍历一个序列,使用 sorted() 函数返回一个已排序的序列,并不修改原值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值