python-装饰器-偏函数-turtle

装饰器

概念:闭包,把一个函数当作参数返回一个替代版的函数,本质上就是一个返回函数的函数

简单的装饰器

def funnc1()
	print(“sunck is a agood man”)

def outer(func):
	def inner()
		print(“*************”)
		func()
	return inner
#f是函数func1的加强版本
f = outer(func1)
f()

复杂一点装饰器

say(-10)

def outer(func):
	def inner(age):
		if age < 0:
			age = 0
		func(age)
	return inner

#顺序
#使用@将装饰器应用到函数,python2.4开始支持使用@
@outer		#相当于执行了say = outer(say)
def say(age):
	print(“sunck is %d years old” % (age))
	
#say = outer(say)

say(-10)

通用装饰器

def outer(func):
	def inner(*args, **kwargs):
		#添加修改的功能
		print(“************”)
		func(*args, **kwargs)
	return inner

@outer		#先定义装饰器,后定义函数时,用@装饰器
def say(name, age):#函数参数理论上无限制,最好不超过6、7个
	print(“my name is %s, i am %d years old” % (name, age))

偏函数

import functools

print(int(“1010”, base = 2))

#偏函数
def int2(str, base = 2):
	return int(str, base)
print(int2(“1100”))

#把一个参数固定住,形成一个新的函数
int3 = functools.partial(int, base = 2)
print (int3(“111”))

turtle模块绘图

一个简单的绘图工具
提供一个简单的小海龟,可以把它理解为一个机器人,只能听得懂有限的命令
绘图窗口的原点(0,0)在正中间,默认海龟的方向是右侧

运动命令

forward(d)		#向前移动d长度
backward(d)
right(d)				#向右转动d度
left(d)
goto(x, y)			#移动到坐标为(x, y)
speed(speed)	#笔画绘制速度[0, 10]

笔画控制命令

up()						#笔画抬起,
down()
setheading(d)		#改变海龟朝向
pensize(d)			#笔画宽度
pencolor(colorstr)	#笔画颜色(加双引号)
reset()				#恢复所有设置,清空窗口,重置turtle状态
clear()				#不会重置turtle
circle(r, e)		#绘制圆,r为半径,e为次数

begin_fill()		#填充
fillcolor(colorstr)
end_fill()

其他命令

done()				#程序继续执行
undo()				#撤销上一次动作
hideturtle()		#隐藏海龟
showturtle()
screensize(x, y)

#导入turtle库
import turtle

turtle.forward(100)
turtle.pencolor(“red”)
turtle.circle(50, steps = 5)	#五边形

turtle.done()

正方形
矩形
正方体
五角星
五环
围棋棋盘
国际象棋棋盘

格式化输出

print("good good study")
num = 10
str19 = "good good study!"
f = 10.1234

print(“num =”, num)
#%d	%s		%f
#精确到小数点后三位(四舍五入)
print(“num = %d, str19 = %s, f = %.3f” % (num, str19, f))

print(“num = %d\n, str19 = %s\n, f = %.3f” % (num, str19, f))

print(‘tom is a \’good\’ man’)
print”‘tom is a \”good\” man”)

print(“good\nnice\nhandsome”)
print(‘’’
good
nice
handsome
‘’’)

如果字符中有好多字符都需要转义,为了简化,用r表示内部的字符串默认不转义
print(r”\\t\”)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值