Python基础学习
小白的学习笔记(来自北理工mooc)
python基本数据类型
基本语法元素
- 缩进、注释、命名、保留字、变量
- 数据类型、字符串、整数、浮点数、列表
- 赋值语句、分支语句、函数
- input、print、eval、print格式化
Python基本图形绘制
- 海龟绘图体系及import保留字用法
- penup()、circle()、pensize()、pencolor()
- fd()、circle()、seth()
- 循环语句:for、in、range
数字类型级操作
整数类型(四种进制 十、二、八、十六)
浮点数类型
浮点类数间的运算存在不确定尾数,不是bug
取值范围在约为$-10^{307}$到$10^{308}$
一般不确定尾数在$10^{-16}$
浮点数可以采用科学计数法表示,例如$4.3e-3$为0.0043
复数类型
z.real 获得实部
z.imag 获得虚部
数值运算操作符
加 x+y
减,x-y
乘,x*y
除,x/y
整数除,x//y,例如下面结果为3
x = 10
y = 3
print(x//y)
+x,x本身
-y,y的负值
x%y,取余
x**y,幂运算
x op y ,二元操作符
例:x+=y,x-=y,x*=y,x/=y,x//=y,x%=y,x**=y
数值运算函数
数字类型扩展关系:整数->浮点数->复数
例如:123 + 4.0 = 127.0(整数+浮点数=浮点数)
pow(x,y[,z])==x**y%z
abs(x) 取x的绝对值
divmod(x,y) 商余,(x//y,x%y)二元数同时输出商和余,divmod(10,0)
round(x[,d]) 保留d位小数(默认为0取整)
max(x1,x2,x3,...,xn) 返回最大值
min(x1,x2,x3,...,xn) 返回最小值
int(x) 转为整数
float(x) 转为浮点数
complex(x) 转为复数
"""
代码——天天向上的力量
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))
字符串类型操作
字符串的序号
正向递增序号:0 1 2 3 4 5 6 7 8 9 10 11
反向递减序号:-11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
字符串的使用 “” 和 ‘’
两个类型,四种操作
字符串切片的高级用法
<字符串>[M:N:K],开始为序号为M位置的字符,结束于序号为N的字符,根据步长k对字符串切片
转意符 \的用法
字符串操作符
x+y 字符串连接
n*x或x*n 字符串复制n次
x in s 判断x是否是s的字串
字符串处理函数
len(x) 计算字符串长度
str(x) 转为字符串
eval(x) 字符串转为数字
hex(x) 转为十六进制
oct(x) 转为八进制
Unicode
chr(x) 数字转字符
ord(x) 字符转数字
字符串处理方法
str.lower() 大写转为小写 #"AbCDefG".lower结果为abcdefg
str.upper() 小写转为大写
str.split(sep=None) 返回一个列表,由str根据sep分隔的部 分组成 #"A,B,cd".split(,)结果为['A','B','cd']
str.count(sub) 返回字串sub在str中出现的次数"an apple a day".count("a")结果为4
str.replace(old,new) 返回字符串str副本,所以old字串被替换为new"python".replace("n","n123.io")
str.center(width[,fillchar]) 居中字符串
"python".center(20,"=") 结果为=======python==========一共20个字符
str.strip(chars) 去除字符串两侧出现的char中列举的字符
str.join(iter) 给iter中的每一个元素增加之间增加一个str#主要用于字符串的分隔
字符串处理例子
n = "requit"
s="aaaebcdfhi"
x="bcdf"
number = 123
str_number = "123456"
str_sig = "我"
print((n+" ")*5);
print(x in s)
print(len(x))
print(str(number))
print(eval(str_number))
print(oct(number),hex(number),chr(number),ord(str_sig))
print("AbCDefG".lower())
print("an apple a day".count("a"))
print("python".replace("n","n.123"))
print("python".center(20,'+'))
print("aasuiuiaas".strip("aas"))
print(",".join("12345"))
字符串类型格式化
槽机制
format方法的格式控制
{槽位:<填充><对齐><宽度><,><.精度><类型>}
{0:=<20, .3f%}
填充:单个字符
对其:左对齐< ,右对齐>,居中^
宽度:数字number 20
,: 数字的千位分隔符
精度:浮点数小数精度或字符串输出最大长度
类型:整数类型 吧b,c,d,o,x,X。浮点数类型 e,E,F,%
例如:{0:=^20, .3%} 表示第0个槽用=符号填充20位并将符号居中 保留两位小数以浮点数百分比表示
海龟绘图之一只小蛇
"""
作者:Twivi
日期:2021年11月23
"""
import turtle
turtle.setup(600,400,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40* 2/3)
turtle.done()
"""
一、以空间为原点的空间坐标系:绝对坐标与海龟坐标
二、以空间x轴为0度的角度坐标系:绝对角度和海龟角度
三、turtle.colormode(mode) RGB色彩模式
1.0位:RGB小数值模式
255:RGB整数值模式
"""
文本进度条(使用增长曲线(
x
+
(
1
?
x
)
/
2
)
8
x+(1-x)/2)^8
x+(1?x)/2)8)
"""
作者:Twivi
日期:2021年11月27
"""
import time
scale = 100
print("执行开始".center(scale//2,"-"))
start = time.perf_counter()
for i in range (scale+1):
y = int((((i+(1-i)/2)**8)/((100+(1-100)/2)**8))*100)
a = '*' * y
b = '.' * ( y- i)
c=(i/scale)*100
dur = time.perf_counter()-start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
time.sleep(0.5)
print("\n"+"执行结束".center(scale//2,'-'))
time库的使用
def wait():
time.sleep(3.3)
import time
start = time.perf_counter()
print(time.time())
print(time.ctime())
t = time.gmtime()
print(time.strftime("%Y-%m-%B-%b-%d- %A-%a-%I-%p-%M-%S",t))
|