1. python语言归属:
通用语言(应用场景功能多样),脚本语言,开源语言,跨平台语言,多模型语言
2. python语言的特点:
- 语法上具有强制可读性(如缩进)
- 较少的底层语法元素(不需要考虑内存)
- 支持多种编程方式 支持中文字符
- 生态高产(第三方库多达13万,快速增长的计算生态)
3.python绘图:
使用import导入turtle绘图库,具体使用方法参见:
[https://blog.csdn.net/zengxiantao1994/article/details/76588580#commentBox]
4.python计算生态:
库,包,模块三者统称为模块
python计算生态=标准库+第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要安装才能使用的功能模块
- 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==c10d,最终值为浮点数
复数: 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.函数:- 概念:函数是一段具有特定功能的、可重用的语句组;是一种功能的抽象,一般函数用来表达特定功能。
- 作用:降低编程难度和代码复用作用:降低编程难度和代码复用
- 函数定义:函数中参数是输入,函数体是处理,结果是输出定义:函数中参数是输入,函数体是处理,结果是输出
【注意】参数列表中的*b指的是参数个数未知的情况下使用的占位符
def funtionName(argument1,argument2,*b): #无论有无参数,括号必须保留 functionBody return 返回值
- 函数调用:functionName(实参1,实参2)
- 参数传递的方式:1)按位置 ;2)按名称【注意】如果缺少参数,则使用函数定义中的指定值
- 变量类型:
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)