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学习——day01_第1张图片

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

and elif import
raise global as
else in return
nonlocal assert except
is try True
break finally lambda
while False class
for not with
None continue from
or yield def
if pass del


字符串索引(返回一个字符):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()

输出:python学习——day01_第2张图片

利用计算机绘图绘制蟒蛇
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()     #“海龟”隐身

python学习——day01_第3张图片

python学习——day01_第4张图片

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

python学习——day01_第6张图片
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
e  表示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的十六进制或八进制小写形式字符串

python学习——day01_第7张图片

#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编码字符)
字符串处理方法:.()即面向对象的风格
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)

python学习——day01_第8张图片

python学习——day01_第9张图片

python学习——day01_第10张图片


 

你可能感兴趣的:(python)