小黑子的python入门到入土:第三章

python零基础入门到入土3.0

python系列第三章

1. 字符串的表示方式

在Python里,可以使用一对单引号、对双引号或者一对三个双引号、一对三个单引号

#如果字符串里还有双引号,外面就可以使用单引号
m = 'xiaoming said : "I am xiaoming"'
n = "I'm xiaoming"
p = """ xiaomig said : "I am xiaoming" """

1.1 字符串里的转义字符

  • 字符串里的转义字符 \
  • \' ==>显示一个普通的单引号
  • \" ==>显示―个普通的双引号
  • \n ==>表示一个换行
  • \t ==>表示显示一个制表符
  • \\ ==>表示一个普通的反斜线

在字符串的前面添加r在Python里表示的是原生字符串

x1 = 'hello \t world'
print(x1)

x2 = 'good mor \\ ning'
print(x2)

x3 = r'hello \teacher'
print(x3)

在这里插入图片描述

2. 字符串的下标和切片

2.1 下标 即索引

可迭代对象: str list tuple dict set range都可以便利

str list tuple可以通过下标来获取或者操作数据

在计算机里,下标都是从0开始的。
h
可以通过下标来获取或者修改指定位置的数据

字符串是不可变的数据类型
案例:
在这里插入图片描述

2.2 切片

切片就是从字符串里复制一段指定的内容,生成一个新的字符串

切片语法m[ start: end :step]
包合start,不包含end
step指的是步长,理解为间隔。 每隔step-1个取一次
step 为负数,表示从右往左获取

案例:

m = 'sahdghjgbdnflvkreoijtiuqwrwetre'
print(m[5])  # m[index]==>获取指定下标上的数据

print(m[2:9])  # 包合start,不包含end
print(m[2:])  # 如果只设置了start,会”截取"到最后
print(m[:9])  # 如果值设置了end,会从头开始"截取"
print(m[3:15])

print(m[3:15:2])  # dhgdfv
print(m[::])  # 从头到尾复制一遍
print(m[::-1]) # step 为负数,表示从右往左获取

print(m[-9:-5]) # start和end如果是负数,表示从右边数

在这里插入图片描述

3. 格式化字符串 format()

在这里插入图片描述

在这里插入图片描述

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

4. 内置函数

4.1 abs() 求绝对值

在这里插入图片描述

4.2 divmod() 整除返回一对商和余数

在这里插入图片描述

4.3 pow() 用于乘方运算

在这里插入图片描述

4.4 round() 四舍五入

在这里插入图片描述

4.5 input() 用户输入

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

4.6 print() 输出打印

在这里插入图片描述

5. 函数的介绍

函数的语法:

def函数名(参数1,参数2,参数3…): 函数体

  • 1.使用def关键字声明函数
  • 2.函数有两部分组成:声明部分和实现部分
  • 3.函数名要遵循标识符的命名规则,尽量做到见名知意
  • 4.函数定义时的参数,叫做形式参数(形参)可以写也可以不写,取决于功能的需求
  • 5.函数体要缩遇
  • 6.函数要想使用,必须调用,调用的格式:函数名()
  • 7.函数的调用必须在函数定义之后

5.1 函数调用时注意的事项

1.在同一个文件中,若出现了定义的函数名相同的情况,后面定义的函数会覆盖前面定义的函数

2.若将函数名赋值给了一个变量,那还可以通过该变量调用函数

3.函数必须先定义,然后才能调用.函数调用必须在函数定义的下方

4.在项目中一个函数可以多次调用

5.2 函数的参数

1.定义函数时的传递的参数叫做形式参数,也叫做形参

2.调用函数时传递的参数叫做实际参数,也叫做实参.在去调用函数的时候,实参会把形参替换.

3.若在定义函数时,有形参,在调用时,函数必须传入实参.并且实参的数量和形参的数量保持一致

4.在函数中形参的名字和实参的名字可以一样,(本质上两者开辟的是不同的内存)

5.3 函数中参数的类型

a.必须顺序参数
在调用函数的时候,必须以正确的顺序传参,参数数量保持一致

def student(name, age):
    print("我的姓名是:%s,年龄是:%d" % (name, age))

# student(32, "王麻子") 顺序不同报错
student("王麻子",32) # 执行

b.关键字参数
使用关键字参数允许函数调用的时候,实参的顺序和形参的顺序不一致,可以使用关键字进行自动匹配

def student(name, age):
    print("我的姓名是:%s,年龄是:%d" % (name, age))

student(age=32,name="王麻子")

c.默认参数
1.在定义函数时,若某个参数没有传递,但是定义了默认参数,会直接使用默认参数,若传递了参数,则会把默认参数替换

2.若函数设置了默认参数,并且该函数有多个参数,一般把默认参数放在参数列专的最后面

def get_sum(num1,num2,num3=21):
    print(num1+num2+num3)

get_sum(12,34,56) #102
get_sum(12,34) #67

5.4 函数中的不定长参数

不定长参数:
1.*args:用来接收多个位置参数,得到的是一个元组

def demo(*args):
    print(*args)

demo("hello", 12, 34, 5, 65)
demo(43, 45, 6)

在这里插入图片描述
2.在定义函数时,若函数中有多个参数,其中某一个参数是不定长参数,一般把不定长参数放在参数列表的最后面\

def test(name,*args):
    print(name,*args)

test("麻瓜",12,34,56,86,43,"hello")

在这里插入图片描述
3. **kwargs:用来接收多个关键字参数,得到的是一个字典︰在传输参数的时候,必须是 key=value的形式传输

def fn(**kwargs):
    print(kwargs)
fn(x=12, y=34, z=43)

在这里插入图片描述

5.5 函数的返回值

  • 函数返回值需要使用return关键字进行返回.
  • 函数在哪里调用,就把结果返回到了哪里.
  • 若想使用返回的结果,可以定义变量接收,也可以直接输出。

2.return后面的代码不会执行

3.函数中若没有return关键字或者没有数据返回,则默认返回是None

4.return关键字一次性返回多个数据.多个数据之间使用,隔开,结果以元组的形式返回

def test():
    return "返回值"
    print("123")
print(test()) # 不会打印123

def demo():
    return
print(demo()) #None

def demo1():
    print("你好啊!")
print(demo1())

def fn1():
    return 12,34,45 #None

在这里插入图片描述

5.6 匿名函数

像这种函数都是有名字的函数

def test():
    print("有名字的函数")
print(test())

匿名函数:是一个表达式,比普通函数简单使用lambada定义的表达式

lambada表达式中包含了参数,实现体,返回值

num1 = lambda num: num ** 2
print(num1(3))

在这里插入图片描述

5.7 回调函数

回调函数:把一个函数(a)作为一个参数传递到另一个函数(b)中去,那么这个函数a我们就叫做回调函数。

在这里插入图片描述

def add(x,y):
    print(x+y)

def demo(x,y,func):
    func(x,y)
demo(12,23,add)

在这里插入图片描述

5.8 闭包函数

如果一个函数里面嵌套了另外一个函数,外部的函数叫做外函数,内部的函数叫做内函数

如果在一个外部函数中定义了一个内部函数,并且外部函数的返回值是内部函数,就构成了一个闭包.则这个内部函数就被称为闭包

闭包函数的特点:内部函数可以使用外部函数的变量

闭包函数主要用于装饰函数的实现

def outer(x):
    y = 11
    def inner():
        print("我是闭包函数", x + y)
    return inner  # 注意:这里返回的是函数体,不是函数的调用

fn = outer(7)  # fun ===>inner 函数
fn()  # 就相当于调用了inner 函数

在这里插入图片描述

5.9 函数的作用域

1.if 等分支语句和for in等循环语句不存在作用域的问题,他们里面定义的变量可以在外部直接访问

2.函数内部的变量,在函数的外部不能直接访问

3.函数内部可以直接访问函数外部的变量

num1 = 67
def fn1():
    # 若想再函数的内部直接修改函数外部的变量,需要使用global关键字,将函数内部变量变更为全局变量
    global num1
    num1 = 88
    print(num1)
fn1()
# print(num1) # 67 是在函数内部添加global关键字之前的结果
print(num1)

在这里插入图片描述

6. 海龟程序 turtle

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

import turtle
turtle.forward(200)
turtle.done()

在这里插入图片描述

6.1 海龟的 forward前进 和 backward后退

在这里插入图片描述

6.2 海龟的 right 右转 和 left 左转

在这里插入图片描述

6.3 海龟的 goto或setpos或setposition 指定位置

在这里插入图片描述

6.4 海龟的 set 设置坐标 和setheading或seth 转方向

在这里插入图片描述

6.5 海龟的 home 重置 和 circle 画圆

在这里插入图片描述

6.6 海龟的 dot 画点

在这里插入图片描述

6.7 海龟的 stamp 绘制印章 和 clearstamp 清除印章

在这里插入图片描述

6.8 海龟的 clearstamps 清除多个印章

在这里插入图片描述

6.9 海龟的 undo 撤销动作 和 speed 调速

在这里插入图片描述

6.10 海龟案例

一些画图原理:

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

案例:
1.
在这里插入图片描述
2.
在这里插入图片描述
在这里插入图片描述
3.

import turtle
turtle.shape("turtle")
turtle.color("red")
turtle.left(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)

turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()
turtle.done()

在这里插入图片描述

import turtle

turtle.shape("turtle")
turtle.color("red")

for i in [0,1,2,3,4]:
    turtle.right(144)
    turtle.forward(200)

turtle.done()

在这里插入图片描述

# 请进小海龟,并设置小海龟的外形和颜色
import turtle

turtle.shape("turtle")
turtle.color("red")


def drawstar(x, y, color):
    turtle.up()
    turtle.goto(x, y)
    turtle.down()
    turtle.color(color)
    for i in [0, 1, 2, 3, 4]:
        turtle.right(144)
        turtle.forward(100)


# 设置小海龟的位置和朝向

# 绘制第一个五角星
drawstar(-200, 200, "blue")

# 再一次设置小海龟的位置和朝向

# 绘制第二个五角星
drawstar(300, 200, "green")

# 继续设置小海龟的位置和朝向,并绘制第三、第四个五角星
drawstar(-200, -200, "red")

drawstar(300, -200, "black")

turtle.up()
turtle.home()
turtle.done()

在这里插入图片描述
6.
在这里插入图片描述
7.在这里插入图片描述

7. 海龟的状态

7.1 position或pos 获取海龟的位置 和 towards 获取坐标角度

在这里插入图片描述

7.2 xcor 获取位置x坐标 和 ycor 获取位置y坐标

在这里插入图片描述

7.3 heading 获取朝向 和 distance 获取海龟与坐标的距离

在这里插入图片描述

7.4 showturtle或st 显示海龟 和 hideturtle或ht 隐藏海龟

在这里插入图片描述

7.5 isvisible 判断海龟是否可见

在这里插入图片描述

7.6 shape 改变海龟形状和 getshapes 获得海龟形状

在这里插入图片描述

7.7 degrees 设置角度

在这里插入图片描述

7.8 radians 设置弧度

在这里插入图片描述

8. 画笔的控制

8.1 pendown或pd或down 落笔 和 penup或pu或up 抬笔

在这里插入图片描述

8.2 pensize或width 画笔粗细 和 isdown 判断画笔是否落下

在这里插入图片描述

8.3 colormode 颜色模式

在这里插入图片描述

8.4 pencolor 设置画笔颜色

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

8.5 fillcolor 设置填充颜色

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

8.6 color 同时设置画笔和填充颜色

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

8.7 filling 判断填充状态

在这里插入图片描述

8.8 clear 清除海龟绘制内容、 reset 重置海龟状态 和 wirte 在当前海龟位置书写文字

在这里插入图片描述

9. 与绘制窗口有关

9.1 bgcolor 设置绘图窗口的背景颜色 和 bgpic()设置绘图窗口的背景图片

在这里插入图片描述

9.2 window_height 返回绘制窗口高度 和 window_width 返回绘制窗口宽度

在这里插入图片描述

9.3 setup 设置绘图窗口大小和位置

在这里插入图片描述

9.4 title 设置窗口标题 和 textinput 弹出文本输入对话框

在这里插入图片描述

9.5 numinput 弹出数字输入的对话框 和 bye 关闭窗口

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值