赞
踩
能够训练思维:
题目本身简单,但学会这种思维,其他常见的"转换"问题解决方法同理。
程序的格式框架
命名与保留字
import keyword
print(keyword.kwlist)
数据类型
补充
法(1)索引:返回字符串中单个字符 <字符串>[M] ,如TempStr[0]为串的第0个字符,TempStr[-1]为串的最后一个字符
法(2)切片:返回字符串中子串 <字符串>[M:N], 注意子串是第M个字符开始到第N个之前的字符(不包含第N个字符)
是去掉参数最外侧引号并执行余下语句的函数,引号不区分单引号’ '和双引号" "
如:eval(“1”)执行结果为1;eval(’“1+2”’)执行结果为’1+2’;eval(‘print(“Hello”)’)执行print(“Hello”)语句,结果为Hello
语句与函数
赋值语句
分支语句
函数
例子
1946-1981:计算机系统结构时代(35年):
1981-2008:网络和视窗时代(27年)
2008-2016:复杂信息系统时代(8年)
2016- :人工智能时代
计算能力问题–>交互问题–>数据问题–>人类的问题
C: 性能
Java:跨平台
C++: 大规模程序
VB: 桌面应用
Python:计算时代演进的选择
通用语言
脚本语言
开源、跨平台、多模型语言
C/C++:python归python ,c归c
Java:针对特定开发和岗位需求
HTML/CSS/JS:不可替代的前端技术,全栈能力
其他语言: R/Go/Matlab等,特定领域
工具决定思维:关注工具变革的力量!
机器语言 --> 代码直接执行,与CPU有关
汇编语言 --> 助记符,汇编器,与CPU有关
高级语言 --> 编译器,与CPU无关
超级语言 --> 整合已有程序,庞大计算生态
== python是唯一的超级语言! ==
== import turtle == 导入海归绘图库
“举一反三:”
Python蟒蛇绘制问题是各类图形绘制问题的代表
–圆形绘制、五角星绘制、国旗绘制、机器猫绘制…
--注:turtle库是turtle绘图体系的python实现
--1969年诞生,是python标准库之一,入门级图形绘制函数库
--Python计算生态 = 标准库 + 第三方库
-库Library、包Package、模快Module,统称模块
turltle.setup(width, height, startx, starty)
--注:- setup()设置窗体大小及位置
4个参数后两个可选,不选则默认在窗口的正中间,setup()不是必须的
–1)绝对坐标:和数学中的坐标系(象限)知识相同
–turtle.goto(x,y)
–2)海龟坐标:后退<–>前进;左侧<–>右侧
–3)空间坐标体系:turtle.bk(d),turtle.fd(d),burtle.circle(r,angle)
--1)绝对角度:0/360,90/-270,180/-180,270/-90
--turtle.seth(angle):改变海龟行进方向,angle为绝对度数,只改变方向不前进。
--2)海龟角度:turtle.left(angle),turtle.right(angle)
--RGB指 红 蓝 绿 组合
--RGB整数值,小数值
--turtle.colormode(mode),默认小数值
mode = 1 表示rgb小数值模式
mode = 255 表示rgb整数值模式
import turtle
turtle. 格式:<a>.<b>()
<库名>.<函数名>(<函数参数>)
或 <库别名>.<函数名>(<函数参数>)
画笔操作后一直有效,一般成对出现
画笔设置后一直有效,直至下次重新设置
turtle.pensize(width) 别名 turtle.width(width)
画笔宽度,海龟的腰围
turtle.pencolor(color) color为颜色字符串或r,g,b值
画笔颜色,海龟在涂装
pencolor(color)的color可以有三种形式
控制海龟行进:走直线 & 走曲线
产生循环计数序列
range(N)产生 0 到 N-1的整数序列,共N个
range(M,N)产生 M 到 N-1的整数序列,共N-M个
--3.1.1整数类型:与数学中概念一致,+|-均可,无范围限制
--pow(x,y)函数
--3.1.2 4种进制表示形式:
十进制,二进制(0b,0B开头),八进制(0o,0O开头),十六进制(0x,0X)
--3.1.3浮点数类型:浮点数范围和小数精度都存在限制,但常规计算可以忽略
浮点数间运算存在不确定尾数,发生在10E-16左右,不是bug
-- round(x,d):对x四舍五入,d是小数截取位数。用于浮点数间运算及比较。
-- 浮点数采用科学计数法表示<a>e<b>表示 a*10b
例如:4.3e-3 值为0.0043 9.6E5 值为960000.0
--3.1.4复数类型:
z = 1.23e-4+5.6e+89j
Z.real获得实部,Z.imag获得虚部
–3.1.5数值运算操作符:类型间可以混合运算,生成结果为“最宽”类型。
–数值运算函数:
– abs(x) 绝对值
– divmod(x,y) => 同时输出商和余数
– pow(x,y[,z]) => 幂余,(x**y)%z
– round(x[,d]) => 四舍五入,d小数位数,默认为0
– max()最大值
– min()最小值
– int(x)
– float()
– complex(x)
略
– 单引号,双引号;三引号
– 索引 [M]
– 切片 [M,N,K]
str[::1] 的结果是012345678910
– 转义字符:\b回退,\n换行,\r回车(光标移到本行行首)
– + 字符串拼接
– * 复制n次字符串
– in
– len(x)
– str(x) 任意类型所对应的字符串形式
– hex(x)或oct(x) 整数x的十六进制或八进制小写形式字符串
– chr(u) u为Unicode编码,返回其对应的字符
– ord(x) x为字符,返回其对应的Unicode编码
补充
若不想使print换行,添加end=""(空),
如print(t [eval (c )-1],end=’’)
– S.lower()或S.upper() 返回字符串副本,全部字符小写/大写
– S.split(sep=None) 返回一个列表,由str根据sep被分隔部分组成
– S.count(sub) 返回子字符串sub在str中出现的次数
– S.replace(old,new)
– S.center(width[,fillchar])
“python”.center(20,"=") 结果为 ‘=python=’
在一个20字符的宽度中,让我们的python字符居中,同时在空余的部分用等号来填充。
– S.strip(chars)从str中去掉在其左侧和右侧chars中列出的字符。
– S.join(iter) 在iter变量除最后元素外每个元素增加一个S。例如:’,’.join(“12345”) #主要用于字符串分割
** “{:10}”.format(“BIT”) ** 中默认是空格填充左对齐
所有字符都用英文半角
时间获取:time() ctime() gmtime()
gmtime()得到一个计算机内部可以操作的时间,struct_time格式
时间格式化: strftime() ,strptime()
.time() 获取当前时间戳,即计算计算机内部时间值,浮点数。
.ctime()获取当前时间并以易读方式表示,返回字符串
.gmtime()获取当前时间,表示为计算机可处理的时间格式
.strftime(tpl,ts) : tpl是格式化模板字符串,用来定义输出效果,ts是计算机内部时间类型变量
t = time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S", t)
t = time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S", t)
timeStr = “2018-01-26 12:55:20”
time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")
采用sleep()模拟一个持续的进度
这里理解一个重要的系统概念:刷新
刷新的关键是\r
# TextProBarV3.py
import time
scale = 50 # 文本进度条的大概的宽度
print("执行开始".center(scale//2,"-")) # p3.3.4 center填充函数
start = time.perf_counter() # 确定了一个开始时间
for i in range(scale + 1):
a = "*" * i # 字符串与整数的乘积,表示复制字符串的次数,a是i个*的字符串
b = "." * (scale - i)
c = (i / scale) * 100
dur = time.perf_counter() - start
# 给end赋值空字符串,可以是print每一次输出字符串之后不会增加换行,只会把光标停留在当次输出字符串的后面
# 这里的\r
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, dur), end="")
time.sleep(0.1)
print("\n" + "执行结束".center(scale // 2, "-"))
“程序的控制结构”:顺序结构、分支结构、循环结构
语法: if <条件>:
<语句块>
语法: if <条件>:
<语句块1>
else:
<语句块2>
紧凑形式:适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2>
语法:if <条件1>:
<语句块1>
elif <条件2>:
<语句2>
…
else:
<语句块N>
注: 注意多条件之间的包含关系,注意变量取值范围的覆盖。 通俗点: 多分支结构中,如果一个分支判断条件通过后,会执行对应的语句块,之后结束分支程序。即使,后续的elif条件也满足,也不会执行对应的语句块.所以这里其实也有一个顺序关系。
–条件判断操作符:<,<=,>=,>,==,!=
–条件组合三个保留字:and,or,not
try:
<语句块1>
except [<异常类型>]:
<语句块2>
注:标注异常类型后,仅响应该异常,异常类型名字等同于变量。
高级使用:
try:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。