python理论学习(持续更新)

1. python语言归属:
通用语言(应用场景功能多样),脚本语言,开源语言,跨平台语言,多模型语言
2. python语言的特点:

  • 语法上具有强制可读性(如缩进)
  • 较少的底层语法元素(不需要考虑内存)
  • 支持多种编程方式 支持中文字符
  • 生态高产(第三方库多达13万,快速增长的计算生态)
    3.python绘图:
    使用import导入turtle绘图库,具体使用方法参见:
    [https://blog.csdn.net/zengxiantao1994/article/details/76588580#commentBox]
    4.python计算生态:
    库,包,模块三者统称为模块
    python计算生态=标准库+第三方库
  • 标准库:随解释器直接安装到操作系统中的功能模块
  • 第三方库:需要安装才能使用的功能模块
**5.Turtle绘图窗体布局:** 本质:turtle的画布空间 最小单位:像素

屏幕坐标系

  • setup(width,height,startx,starty):设置窗体大小及位置,后两个参数可选,默认窗口在屏幕正中心。该方法非必选
  • goto(x,y):画笔移动到坐标为x,y的位置
  • fd(x):向海龟的正前方向运行
  • bk(x):向海龟的反方向运行
  • circle(r,angle):以海龟当前位置左侧的某一个点为圆心进行曲线运行
  • seth(angle):改变海龟行进方向,只改变方向并不行进
  • left(angle):向左改变运动方向
  • right(angle):向右改变运动方向
  • colormode(mode):mode取值1和255,默认1即小数值模式

6.空间坐标体系:
坐标体系=绝对坐标+turtle坐标

绝对坐标
海龟坐标

7.角度坐标体系:

绝对角度海龟角度

8.RGB色彩体系:
RGB每种色彩取值范围:0-255整数 0-1小数

常见色彩体系

9.库引用:
作用:扩充python程序功能
语法:(三种方法)

//函数不会重名
import 库名
<库名>.<函数名>(函数参数)
//函数名会重名
from <库名> import <函数名>
from <库名> import *
<函数名>(函数参数)
//最优解
import <库名> as <库别名>
<库别名>.<函数名>(函数参数)

10.画笔控制函数:

函数名别名作用
penup()pu()抬起画笔
pendown()pd()落下画笔,移动时绘制图形,缺省时也为绘制
pensize(width)width(width)设置画笔宽度
pencolor(pencolor,fillcolor)颜色字符串/RGB小数值R,G,B/RGB元组值(R,G,B)设置画笔颜色

11.画笔运动控制函数:

函数名别名作用
hideturtle()隐藏箭头显示
forward(d)fd(d)向前行进,海龟走直线 ,距离d可以为负数
circle(r,extent=none,steps=N)圆心在海龟左侧r距离的位置根据半径r绘制extent角度的弧形,steps表示圆内切多边形的边数

circle(r,angle):r>0则圆心在小海龟行进方向的左边。r<0则圆心在右边;angle>0则弧在x轴的正方向,angle<0则在x轴的负方向。

12.方向控制函数:

函数名别名作用
setheading(angle)seth(angle)改变行进方向,海龟走角度
left(angle)逆时针移动angle
right(angle)顺时针移动angle

13.循环语句:

for 变量 in range(<整数N>/<整数M,整数N>):
	被循环执行的语句

参数一:0-N-1的整数
参数二:M-N-1的整数

14.基本数字类型:
pow(x,y)==xy
round(x,d):对x四舍五入,d表示小数截取位数

  • 整数型
  • 浮点数(存在不确定尾数)
  • 复数类型:实部x.real 虚部:x.imag
    15.数值操作运算符:
    x+y:加
    x-y:减
    xy:乘
    x/y:除
    x//y:x与y整数商
    +x:本身
    -x:负值
    x%y:余数,模运算
    x**y:幂运算,x的y次方
    16.不同数字类型混合运算:
    硬件单元:使用不同的处理器
    生成结果:是最宽类型(整数->浮点数->复数)
    整数+浮点数=浮点数
    整数/浮点数+复数=复数
    17.数字的进制表示:
    十进制,二进制(0b/0B开头),八进制(0O/0o开头),十六进制(0X/0x开头)
    科学计数法: c e d==c
    10d,最终值为浮点数
    复数: a+b*j
    18.数值运算函数:
    | 函数名 | 作用|
    | ------------- |:-------------? -----?
    | abs(x)| x的绝对值 |
    | divmod(x,y)|同时输出商和余数 |
    | pow(x,y[,z]) | 幂余(xy%z),y为小数是可以求平方根,负数的平方根产生复数|
    |round(x[,d])|四舍五入,d是小数位数|
    |max()|最大值|
    |min()|最小值|
    |int(x)|将x变成整数|
    |float(x)|将x变成浮点数|
    |complex(x,y)|将x变成复数的实数部分,增加虚部yj|
    19.函数:
    使用def保留字定义函数(实例)
# -*- coding: utf-8 -*-
#daydayup.py
def dayUp(df):
    dayup=1
    for i in range(365):
        if i%7 in [6,0]:
            dayup=dayup*(1-0.01)
        else:
            dayup=dayup*(1+df)
    return dayup
dayfactor=0.01
while dayUp(dayfactor)<37.78:
    dayfactor+=0.001
print("工作日的努力参数是{:.3f}".format(dayfactor))

20.字符串及相关操作:
1)表示方法:

  • 对单引号或双引号表示,仅表示单行字符串
  • 一对三单引号或三双引号表示,可以表示多行字符串
  • 2)在字符串中包含双引号或单引号 > “this is a (')” > '''this is a (') and an ('')'''

    3)获取字符(正向递增+反向递减为前提)
    str[M]:返回字符串中的单个字符,
    str[M:N:K]:根据步长K对字符串切片
    21.转义字符

    字符含义
    \b回退
    \n换行
    \r回车
    "双引号

    22.字符串操作:

    操作作用
    x+y字符串拼接
    nx或者xn复制n次字符串x
    x in str如果x是str的子串返回true否则false
    len(x)返回字符串x的长度,中文和英文字符长度一致
    str(x)任意类型的x对应的字符串形式
    hex(x)/oct(x)整数x的十六进制或八进制小写形式字符串
    chr(x)x为unicode编码,返回对应的字符
    ord(x)x为字符,返回对应的unicode编码
    方法名作用
    str.lower()/upper()返回字符串副本,全部字符为大写或小写
    str.split(“分隔符”)返回一个列表[],每个分隔符隔开的子字符串
    str.count(x)返回子字符串在str中出现的次数
    str.replace(old,new)返回str副本,所有old字串被new字串替换
    str.center(width[,fillchar])字符根据width居中,fillchar是可选选项,填充的字符
    str.strip(chars)从str中去除在其左侧和右侧chars中列出的字符
    str.join(iter)在iter变量除最后元素外的每个元素后增加一个str
    str.find(substr,开始位置,结束位置)返回子串在str中第一次出现的位置,若无则返回-1

    23.字符串类型的格式化:
    概念:格式化是对字符串进行格式表达的方式
    用法:<模板字符串>.format(<逗号分隔的参数>)
    格式化实例
    如果该槽对应的format()参数长度比<宽度>设定值大,则使用参数实际长度。
    如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。
    24.time库:
    类型:标准库
    作用:处理时间
    函数分类:
    | 类别 |函数名 | 作用 | |
    | ------------- |:-------------? -----?
    | 时间获取 | time() | 获取当前时间戳,计算机内部时间值,浮点数 | |
    | 时间获取| ctime() | 获取当前时间并以易读方式表示,字符串| |
    | 时间获取| gmtime() | 获取当前时间,表示为计算机可处理的时间格式| |
    |时间格式化|strftime(tpl,ts)|tpl为格式化模板字符串,ts是计算机内部时间类型变量|%Y年份,%m月份,%B月份英文名称,%b月份缩写,%d日期,%A星期,%a星期缩写,%H小时(00-23),%h(01-12),%p上午/下午,%M分钟,%s秒|
    |时间格式化|strptime(str,tpl)|str指的是字符串形式的时间值,tpl用来定义输入效果||
    |程序计时|sleep(s)|让程序休眠s秒钟|
    |程序计时|perf_counter()|测量时间,测量起止动作所经历时间的过程,以秒为单位|计数值起点不确定,用差值才有意义|
    25.print函数:

    print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout)

    • objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
    • sep – 用来间隔多个对象,默认值是一个空格。
    • end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
    • file – 要写入的文件对象。
      26.分支结构:
      1)单分支结构:
    input=eval(input())
    if input==99:
        print("猜对了!!!")
    

    2)二分支结构:

    input1=eval(input())
    if input1==99:
        print("猜对了!!!")
    else:
        print("猜错了")
    

    紧凑形式:表达式1 if 条件 else 表达式2

    input1=eval(input())
    print("猜对了") if input1==99 else print("猜错了")
    _____________________________________________
    print("猜{}了".format("对" if input1==99 else "错"))
    

    3)多分支结构:多分支条件之间不能覆盖

    if input1<=60:
        grade='D'
    elif input1>=70:
        grade='C'
    elif input1>=80:
        grade='B'
    elif input1>=90:
        grade='A'
    print("等级是{}".format(grade))
    

    条件组合关键字:and not or
    27.程序的异常处理:
    异常处理代码
    标注异常类型后,仅响应该异常
    这里写图片描述

    特殊异常处理
    28.多个用户输入的处理:
    单个输入函数:height=input()
    多个输入函数:height,weight=eval(input(“输入身高,体重”))[eval不能省略]
    多个变量赋值:who,nat=“偏瘦”,“偏瘦”
    29.循环结构:
    循环方式:遍历循环for+无限循环while
    1)遍历循环:
    本质:遍历某个结构形成的循环运行方式
    过程:每次循环,将从遍历结构中所获得元素放入循环变量,并执行一次语句块

    for 循环变量 in 遍历结构:
    	语句块
    

    分类:

    • 计数循环
     for i in range(N):
     从0到N-1遍历数字序列
     for i in range(M,N,K):
     遍历从M到N-1的数字序列,K为步长
    
    • 字符串遍历循环
    for c in s:
    	语句块
    
    • 列表遍历循环
    for item in list:
    	语句块
    
    • 文件遍历循环
    for line in file:
    	语句块
    	file为文件标识符,遍历文件中的每一行
    

    2)无限循环
    本质:由条件控制的循环运行方式
    结束:ctrl+c组合退出当前程序

    while 条件:
    	语句块
    

    循环控制保留字:
    break:跳出并结束当前整个循环,执行循环后的语句
    continue:结束当次循环,继续执行后续次数循环、
    双层循环:先执行外部循环后再分别执行内部循环

    str="python"
    #先执行while循环获得python pytho pyth pyt py p
    while str!="":
        #在每一个字符串里进行二次循环
        for c in str:
            if c=='t':
    	       #break仅仅跳出内部For循环
               break
            print(c,end=',')
        str=str[:-1]
    

    3)循环的高级用法:

    for 循环变量 in 遍历结构:/while 条件:
    语句块1
    else:
    语句块2
    作用:当循环没有被break退出时,执行else 语句块

    30.random库:
    类型:使用随机库的python标准库
    基本随机数函数:
    seed():初始化给定的随机数种子,默认为当前系统时间,随机数种子一样则产生的随机数是一样的
    random():产生0-1之间的小数
    扩展随机函数:
    randint(a,b):生成一个a和b之间的随机整数
    getrandbits(k):生成一个k比特长的随机整数
    uniform(a,b):生成一个a和b之间的随机小数
    randrange(M,N[,K]):生成一个M和N之间以K为步长的随机整数
    choice(seq):从seq序列中随机选择一个元素
    shuffle(seq):将序列中的元素随机排列,返回打乱后的序列
    31.函数:

    1. 概念:函数是一段具有特定功能的、可重用的语句组;是一种功能的抽象,一般函数用来表达特定功能。
    2. 作用:降低编程难度和代码复用作用:降低编程难度和代码复用
    3. 函数定义:函数中参数是输入,函数体是处理,结果是输出定义:函数中参数是输入,函数体是处理,结果是输出
      【注意】参数列表中的*b指的是参数个数未知的情况下使用的占位符
    def funtionName(argument1,argument2,*b):
    	#无论有无参数,括号必须保留
    	functionBody
    	return 返回值
    
    1. 函数调用:functionName(实参1,实参2)
    2. 参数传递的方式:1)按位置 ;2)按名称【注意】如果缺少参数,则使用函数定义中的指定值
    3. 变量类型:
      1)局部变量:函数内部使用的变量
      2)全局变量:整个程序使用的变量
      使用规则:
      1)全局变量和局部变量即使重名也是不同的变量
      2)函数运算结束后,局部变量会被释放(不复存在)
      3)使用global保留字可以在函数内部使用全局变量
      4)局部变量为组合类型且在函数内部未创建,等同于全局变量
    ls=[1,2,3]
    def func(n):
    #第三行代码存在则输出结果为['cx']
        ls=[]
        ls.append(n)
        return
    func('cx')
    print(ls)
    #第三行代码不存在则输出结果为[1,2,3]
    

    原理:
    组合数据类型由指针来体现,函数中没有真实创建的组合数据类型,则函数中使用的变量使用指向外部全局变量的指针
    7. lambada函数:
    返回函数名作为结果,属于匿名函数
    作用:用于定义简单的,能够在一行内表示的函数
    应用场景:主要用作一些特定函数或方法的参数

    functionName=lambada 参数:表达式
    f=lambada x,y:x+y
    f(10,15)
    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值