画格子

import turtle

turtle.showturtle()

step=20
for i in range(11):
    turtle.penup()
    turtle.goto(0,step*i)
    turtle.pendown()
    turtle.forward(10*step)
turtle.right(-90)
for i in range(11):
    turtle.penup()
    turtle.goto(step*i,0)
    turtle.pendown()
    turtle.forward(10*step)

turtle.dot(10,"red")    //棋子
turtle.done()

画棋盘

import turtle

turtle.showturtle()

step=20
for i in range(3):
    for k in range(3):
        turtle.penup()
        turtle.goto(i*step,k*step)
        turtle.pendown()
        turtle.begin_fill()
        if (i+k)%2==0:
            turtle.color("black")
        else:
            turtle.color("white")
        for j in range(4):
            turtle.forward(step)
            turtle.right(90)
        turtle.end_fill()

turtle.penup()
turtle.goto(0,-20)
turtle.pendown()
for l in range(4):
    turtle.forward(60)
    turtle.right(-90)
turtle.done()
turtle.pensize(3)   //设置粗细


turtle.begin_fill()
turtle.color("white")
turtle.end_fill()

开始  设置颜色  结束

装饰器模式就是把函数作为参数传进去进行功能上的扩展

函数引用全局变量 加上global 关键词
注意是引用全局

num=10
def pp():
    global num;
    num=3
print(num)   //3

引用函数与函数之间的用nonlocal关键词

def test():
    num=10
    def xx():
        nonlocal num
        num=3
        print(num)
    print(num)

答案是3   3

字符串

import codecs    //编码
"hello".find("e")    // 1   找不到是-1

查找文件

import codecs 
file=open("路径","读写","字符编码","忽略错误")

file.readline()   //读取一行
file.readlines()   //全部读取到内存,返回一个list    速度很快
没有读取到信息返回none

匿名函数 lambda 函数

num=lambda a,b:a+b   num表示函数名称
print(num(1,2))

list 和 set

list  [1,1,1]   //  1,1,1    可以重复
set  {1,1,1}    //  1       不可以重复
set1={1,2,5,6}
set2={1,2,7,8}
print(set1-set2)    #set1有set2没有     差集
print(set2-set1)     #set2有set1没有
print(set2 | set1)    #并集
print(set2 & set1)    #交集
print(set2 ^ set1)    #交集   ste1与set2 并集减去 交集

tuple和list基本上一样,唯一的区别是list可以变,tuple不能改变
下面需要注意一下

mytuple=()
print(type(mytuple))
mytuple=(1)
print(type(mytuple))
mytuple=(1,)
print(type(mytuple))

结果
<class 'tuple'>
<class 'int'>
<class 'tuple'>

字典dict
dict是set的加强版,key不能重复,会覆盖

mydict={"a":1,"b":2,"a":3}
print(mydict)

{'a': 3, 'b': 2}

print(mydict["b"])   //根据key找出value

for i in mydict:
    print(i,mydict[i])   遍历dict

列表构造表达式

mylist=[a for a in range(10)]
print(mylist)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

list和 tuple可以支持索引,set不可以

frozenset(list)  //转变成不可变集合