python学习——day01

本文参与「少数派读书笔记征文活动」https://sspai.com/post/45653

以前学习,老是觉得学的时候懂了,以后肯定不会忘,经过多次实践证明,”好记性不如烂笔头“是至理名言。而且基础是真的很重要,python学习,希望是我自学大数据一个好的开始。

python API帮助文档:https://docs.python.org/3.6/library/turtle.html?highlight=turtle#module-turtle

pycharm帮助文档:https://www.jetbrains.com/help/pycharm/getting-help.html

python语法的三个阶段:

  • Python基础语法:函数式编程
  • Python进阶语法:面向对象编程
  • Python高级语法:Pythonic编程

应用深度:

  • Python网络爬虫与信息提取
  • Python数据分析与展示
  • Python机器学习应用
  • Python科学计算三维可视化
  • Python+大数据+人工智能
  • Python+嵌入式+可编程硬件
#TempConvert.py
"""第一段代码"""
TempStr=input("请输入带有符号的温度值:");
if TempStr[-1] in ['F','f']:
    C=(eval(TempStr[0:-1])-32)/1.8
    print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in['C','c']:
    F=1.8*eval(TempStr[0:-1])+32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误")

上段代码是华摄氏度(F)与摄氏度(C)的转换

#TurtleExample.py
import turtle as tur
tur.color('red','yellow')   #同时设置pencolor和fillcolor
tur.begin_fill()    #在绘制需要填充的图形前调用
while True:
    tur.forward(200)
    tur.left(170)
    if abs(tur.pos())<1:    #返回海龟当前坐标(abs即求坐标的模)
        break
tur.end_fill()
tur.done()

输出:

Python有33个保留字(大小写敏感):

andelifimport
raiseglobalas
elseinreturn
nonlocalassertexcept
istryTrue
breakfinallylambda
whileFalseclass
fornotwith
Nonecontinuefrom
oryielddef
ifpassdel


字符串索引(返回一个字符):TempStr[-1]即字符串倒数第一个字符1;正向从0开始
字符串切片(返回子串):TempStr[0:-1]即第一个字符到倒数第二个字符的字段
列表[]:由0个或多个数据组成的有序序列,使用保留字in判断一个元素是否存于列表
input(<提示信息字符串>):从控制台获得用户的输入且返回字符串
print():以字符形式向控制台输出字符串,默认换行;
评估函数eval(“1”):去掉参数最外侧引号并执行余下语句,得带数字1;
eval('"1+2"'):得到字符串1+2
eval('printt("Hello")'):输出字符串Hello

#PythonDraw.py
import turtle
turtle.setup(650,350,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()

输出:

利用计算机绘图绘制蟒蛇
turtle库(turtle绘图体系,python标准库之一)
python计算生态=标准库+第三方库
标准库:随解释器安装到操作系统的功能模块
第三方库:需要经过安装才可使用的功能模块
库Library、包Package、模块Module,统称模块
turtle绘图窗体:最小单位是px
*turtle.setup(width,height,[startx],[starty]):设置窗体大小及位置,默认窗体居中
turtle空间坐标体系(非窗口):绝对位置&海龟位置
turtle.goto(x,y):使"海龟"游到指定坐标
turtle.write('年',font=("Arial",18,"normal"))    #输出字符串
turtle.hideturtle()     #“海龟”隐身

turtle空间坐标体系

turtle空间坐标系

turtle空间坐标体系
turtle角度坐标体系(非窗口):绝对角度&海龟角度
RGB色彩体系turtle.colormode():默认采用小数值,可切换为整数值
from turtle import *:引入turtle库保留字,可直接使用函数名调用函数,不加库名
使用库别名调用函数:import <库名> as <库别名>     <库别名>.<函数名>(<函数参数>)

turtle角度坐标体系
turtle画笔控制函数:
penup() :“海龟”飞起,不在画布形成图案
pendown() :”海龟“爬行
pensize() :“海龟”腰围
pencolor():为“海龟”上色
字符串pencolor("purple")
RGB小数值pencolor(0.63,0.13,0.94)
RGB的元组值pencolor((0.63,0.13,0.94)):将小数值或整数值转换为独立元素
画笔操作后一直有效,一般成对出现
运动控制函数:
turtle.forward(d):前进 别名turtle.fd(d),d为行进距离(px),可为负数
turtle.bk(d):后退
turtle.circle(r,extent=None):以左侧的某点为圆心r为半径绘制extent角度的弧形,默认圆心为海龟当前垂直左侧距离r的地方 turtle.circle(-100,90):右侧100px
方向控制函数:
turtle.seth(45):“海龟”运行方向为正向45度(绝对角度)
turtle.left/right(angle):向左/右改变方向(海龟角度)
循环语句:for <变量> in range(<函数名>)

for i in range(5):
    print("Hello:",i)        #(加"逗号",输出变空格)

range(N):产生1到N-1的整数序列
range(M,N):产生M到N-1的整数序列
弧长计算公式:l=nπr/180(n为圆心角,r为半径)
turtle.done():程序运行完毕,窗口不退出
type():查看数据类型

#DayDayUp.py
"""一年365天,工作日每天进步1%,休息日退步1%"""
daybase=1.0
dayfactor=0.01
i=1;
for i in range(365):
    if i%7 in [6,0]:
        daybase=daybase*(1-dayfactor)
    else:
        daybase=daybase*(1+dayfactor)
print("有休息日的年头,力量={:.2f}".format(daybase))
#DayDayUpQ2.py
"""工作日每天进步多少,才能达到一年365天,每天进步1%的效果"""
def dayUp(dayfactor):
    daybase=1;
    for i in range(365):
        if i%7 in[6,0]:
            daybase*=(1-0.01)
        else:
            daybase*=(1+dayfactor)
    return daybase

dayfactor=0.01
while dayUp(dayfactor)<37.78:
    dayfactor+=0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))

整数类型:
十进制:1010,99
二进制:以0b或0B开头
八进制:以0o或0O开头
十六进制:以0x或0X开头
浮点类型:
浮点数取值范围和小数精度都存在限制
取值范围数量级约-10的308次方至10的308次方,精度数量级10的-16次方
二进制表示小数,可以无限接近,但不完全相同(如:0.1)
0.1+0.2==0.3   False
<a>e<b>  表示a*10的b次方
复数类型:a+bj
real获取实数
image获取虚数
数值运算操作符:
x/y:(python中)获得浮点数结果
x//y:整数除
x**y:x的y次方(幂运算)
数字类型的关系:
整数->浮点数->复数(逐渐“扩宽”)
数值运算函数(内置):
abs(x)绝对值 
divmod(x,y)-->(x//y,x%y),同时输出商和余数
power(x,y[,z])-->(x**y)%z
round(x[,d])四舍五入(d保留小数位)
max返回最大值
min返回最小值
int(小数/字符串)->整数
float(整数/字符串)->浮点数
complex(整数)->加虚数变成复数

#WeekNamePrintV1.py
weekStr="星期一星期二星期三星期四星期五星期六星期日"
weekId=eval(input("请输入星期数字(1-7):"))
resultStr=weekStr[(weekId-1)*3:(weekId-1)*3+3]
print(resultStr)

字符串有2类共4种表示方法
'C'或"C":表示单行字符串
'''C'''或"""C""":表示多行字符串,当这种形式不存在于任何函数中,可充当注释
print("'Hello'")->'Hello' print('"Hello"')->"Hello"
字符串切片:
<字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
<字符串>[M:N:K],以步长为K截取([::-1],字符串倒序)
转义符:(\")->"
\b回退 \n换行 \r回车
字符串操作符:
x+y:连接
n*x或x*n:复制n次字符串x
x in s:若x是s的子串,返回True
字符串处理函数:
len(x):返回长度(python中英文、数字、汉字等都是一个字符)
str(x):任意类型x所对应的字符串形式(将任何类型的变量增加一对引号)
hex(x)或oct(x):整数x的十六进制或八进制小写形式字符串

字符串的序号

#TestUnicode
"""输出12星座符号"""
flag=9800
for i in range(12):
    print(chr(flag),end="");    #末尾不换行,为空字符
    flag+=1

(这个挺有趣的,哈哈)输出:♈♉♊♋♌♍♎♏♐♑♒♓

chr(x):x为Unicode编码,返回其对应的字符串
ord(x):x为字符串,返回其对应的Unicode编码(python字符串中每个字符都是Unicode编码字符)
字符串处理方法:<a>.<b>()即面向对象的风格
str.lower()或str.upper:返回字符串副本,全部小写/大写
str.split():返回一个列表:“A,B,C”->['A','B','C']
str.count(sub):返回子串sub在str中出现的次数
str.replace("oldstr","newstr"):返回str的副本
str.center(width[,fillchar]):字符串str根据宽度width居中,用fillchar填充两边空余部分【"python".center(20,"=")->=======python=======】
str.strip(chars):从str中去掉左侧和右侧chars中列出的字符【“= python= ”.strip(" =np")->"ytho"】
str.join(iter):在iter变量除最后元素外每个元素后增加一个str【”,“.join("12345")->"1,2,3,4,5"】,用于字符串分隔
字符串类型的格式化:槽机制+format函数
format控制参数(默认左对齐,空格填充):
"{0:=^20}".format("python")->format方法的第0个参数以用=填充长度为20且居中对齐的形式输出
"{0:,.2f}".format(12345.6789)->12,345.68(,为千位分隔符)
”{:b},{:c},{:d},{:o}“.format(425)

format方法的控制格式

字符串形式的格式化


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值