个人python笔记

python学习笔记

本笔记只是个人在学习python的时候对于python特有的特性做个记录,防止忘记了。(有记录复习也方便)

pycharm好用的插件

  • rainbow bracket (防止多括号丢括号的情况)

函数定义

python只有函数没有过程
ps:函数干完事要返回值,过程只是干个活。

def function1():
	print('hello world')
#---------------------------
def function2(parameter):
	print(parameter)
#---------------------------
def function3(*parameters):
	print(parameters[0], parameters[1], parameters[2])
#---------------------------
def function3(*parameters, exp):
	print(parameters[0], parameters[1], parameters[2], exp)
	
functions('hello', 'world', 123, exp = '好好学习,天天向上')

函数内部修改全局变量

count = 5
def function():
	global count	#必须加上这句,否则不能操作全局变量
	count = 10
	print('函数运行结束!')
function()
print(count)	# 结果为10

内嵌函数

def func1():
	print('func1正在被调用...')
	def func2():
		print('func2正在被调用...')
	func2()

# 测试
func1()

闭包

def function_A(value_a):
	def function_B(value_b):
		return value_a * value_b
	return function_B

# 测试
function_A(4)(5)		#值为20

本人对于闭包的理解为内嵌函数使用外部函数的变量并且返回内嵌函数,实现动态生成我们想要的函数。

python自己实现switch

def trends_function(int_value):
    def func_1():
        print('动态生成函数1')

    def func_2():
        print('动态生成函数2')

    def func_3():
        print('动态生成函数3')

    switch = {1: func_1,
              2: func_2,
              3: func_3}
    return switch.get(int_value)

# 测试

trends_function(1)()
trends_function(2)()
trends_function(3)()

Lambda 表达式

list(filter(lambda x: x % 2, range(10)))	#从1到10种筛选奇数
#结果 [1, 3, 5, 7, 9]
list(map(lambda x: x * 2, range(10)))
# 结果 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值