python学习笔记——慕课的一些介绍(入门级)

这是一份来自MOOC的Python入门级课程笔记,涵盖了Python的基础语法、标准库和第三方库的使用,包括数据类型、异常处理、turtle绘图、文件操作、数据结构等,还涉及到了Python计算生态的介绍。
摘要由CSDN通过智能技术生成

    本笔记整理自MOOC上的Python课程,本课程介绍了Python的入门级经典编程例子、Python基础语法以及Python的计算生态。

    课程链接为:Python语言程序设计-北京理工大学

目录

 

Python技术的全局化视角概览图

写在前面

一、input()

二、eval()

三、print()

四、import

五、异常处理

六、turtle库(Python标准库)

七、数据类型

八、time库(Python标准库)

九、进度条设计

十、程序的控制结构

十一、random库(Python标准库)

十二、函数

十三、ambda函数

十四、递归

十五、PyInstaller库(第三方库)

十六、组合数据类型

十七、jieba库(第三方库)

十八、文本词频统计

十九、文件及其使用

二十、自动轨迹绘制

二十一、map()函数

二十二、一维数据的格式化和处理

二十三、二维数据的格式化和处理

二十四、wordcloud库(第三方库)

二十五、程序设计方法学

二十六、Python第三方库安装

二十七、os库(Python标准库)

二十八、第三方库自动安装脚本——os库的应用示例

二十九、Python计算生态

三十、最后,在笔记结尾,就画个花吧


Python技术的全局化视角概览图

                                        

写在前面

 Python代码有着众所周知的强制的易读性。

其实Python代码中写分号也未尝不可,比如你非常明确地希望你的程序只有“一行”代码,那么就将原来的分行形式写成一行就好了,在每句后面跟加上Python代码的稀客——分号,如果你的代码只有顺序结构,而没有复杂的分支或者循环结构,你会发现你的代码依然运行完好。

如果你嫌弃自己的Python代码又臭又长(尤其是print语句),也有方法解决,那就是分行,并在除分出的最后一行外的所有分行句尾加上符号"\",over.

一、input()

        输出提示信息(可选),并接收输入的字符串。示例:control_str=input("haha! write it!")

二、eval()

    去引号函数

三、print()

    print("a:",b)        此种带逗号的写法,会在a:和b之间自动加上空格

    print(a,end="")  输出a,没有输出回车

   print("\r"+a,end="")  由于有end="",且有\r这个回车符,在循环中,此句的输出将覆盖上一句

   "{:f}".format(xxx)  格式化输出

   举例:print("转换后的温度是{:.2f}F".format(F))     此句程序的打印效果是将F以".2f"的格式(即保留两位小数)打印在冒号之间的"{:.2f}"处。

四、import

    1. import [库名]

    2. form [库名] import *

    3. import [库名] as [自起名称]

五、异常处理

解释:try之后的语句块1正常,则执行之后跳过语句块2;否则,发生异常/发生指定异常,就执行语句块2。

解释:没异常,执行1、3、4;有异常,则执行1、2、4。

六、turtle库(Python标准库)

    调整绘图窗体在电脑屏幕中的布局

        turtle.setup(宽度,高度,x(可选),y(可选));

    设置绘制窗口的标题栏信息

       turtle.title(title)

    turtle空间坐标体系(画布上的)

        1. 绝对坐标

            turtle.goto(x,y)

        2. 海龟坐标

            turtle.foward(d) 或者 turtle.fd(d)   向前

            turtle.bk(d)   向后

            turtle.circle(r,angle)    以左侧的某点为圆心画弧线前进。r为半径,angle为行进角度,圆心默认为海龟左侧距离海龟r的地方。r为负数,即右转了。

        3. 角度坐标

           turtle.setheading(angle) 或者 turtle.seth(angle)           改变海龟运行方向(绝对角度)

           turtle.left(angle)                                                             向左改变海龟运行方向(相对角度)

           turtle.right(angle)                                                           向左改变海龟运行方向(相对角度)

    turtle的RGB色彩模式

       turtle.colormode(mode)    mode写成1.0时候,使用的是RGB小数值模式;写成255时,使用的是RGB整数值模式。

    画笔控制函数(成对出现)

        turtle.penup()                    画笔抬起来,或者海龟飞起来,即不留下痕迹。别名:turtle.pu()

        turtle.pendown()               画笔落下来,或者海龟着地,即留下痕迹。别名:turtle.pd()

      turtle.pensize(width)        设置画笔宽度,或者海龟腰围。别名:turtle.width(width)

     turtle.pencolor(color)    设置画笔色彩,即龟壳颜色。color有三种形式:颜色字符串,如:"purple";RGB的小数值,如:0.63,0.13,0.94;RGB的元组值,如:(0.63,0.13,0.94)。

      turtle.write()                   直接绘制字符,示例:         

turtle.write('我',font=("Arial",180,"normal"))

  海龟隐藏

         turtle.hideturtle()     隐藏海龟,或者说画笔 

  退出

          turtle.done()         程序末尾加上此句,则图像不会自动退出,而是停留在最后的状态。

七、数据类型

整数类型的四种进制表示形式:十进制、二进制(0b或0B开头)、八进制(0o或0O开头)、十六进制(0x或0X开头)

浮点数的取值范围约为-10^308~10^308,精度10^(-16)

浮点数的计算存在不确定尾数问题,这是计算的底层设计问题(计算机内部是二进制),不是bug。举例:python在判断(0.1+0.2==0.3)时候将返回false。

round(x,d)函数,可以进行四舍五入操作,其中的d表示保留的小数位数。

浮点数支持科学计数法表示。举例:3e4=3*10^4;8E-9=8*10^(-9)。

复数类型举例:z=1+2j    z.real获得实部,z.imag获得虚部

python中两个整数相除是浮点数。这一点比较特殊。举例:10/3=3.333333...;10//3=3,注意,"//"这个符号得到的是整数。

x**y=x^y

支持增强操作符:x+=y、x**=y等

基本数值运算函数:abs(x)  取绝对值; divmod(x,y) 做商余操作,输出(x//y,x%y);

                                   pow(x,y)   输出x^y; pow(x,y,z)   输出(x^y)%z;

                                   round(x,d) 保留d位小数; round(x)  对x取整;

                                   max(...)、min(...);

                                   int(x)  将浮点数甚至字符串x变成整数; float(x) 将整数甚至字符串x变成浮点数;

                                   complex(x)  将x变成复数。

字符串中,'''这里可以输入"和'都能够显示出来,因为两端是三单引号'''

字符串中,可以通过str[m,n,step]对字符串进行切片

转义符为\,\b表示回退,\n表示换行(光标移到下行首),\r表示回车(光标移到本行首)

字符串操作符

            x+y           连接字符串x和y;         n*x       将字符串x复制n次;

            x in s        如果x是s的子串,返回true,否则返回false

字符串处理函数

           len(x)       返回字符串x的长度;  

           str(x)       将任何类型的x转化成字符串,这与eval()函数相反;

          hex(x)、oct(x) 将整数x转化成十六进制或八进制的小写形式字符串,如oct(8)相当于"0o10";

          chr(u)     u为unicode编码,此函数将返回对应此编码的字符

          ord(x)     x为单字符,此函数将返回此单字符对应的unicode编码

字符串处理方法

          str.lower()、str.upper()     返回字符串的副本,此副本是原副本的全小写/全大写形式

          str.split(s)                         返回以s分割的子字符串列表

          str.count(sub)                   返回str中子字符串sub出现的次数

          str.replace(old,new)         返回字符串的副本,此副本中的子字符串old全部被字符串new替换

          str.center(num,ch)            str根据宽度num居中,宽度两侧的部分以字符ch填充

          str.strip(chars)                  去掉str的左侧和右侧,出现在字符串chars(或者说是字符数组)中的字符,然后返回

          str.join(iter)                      举例说明吧:",".join("12345")的返回值是"1,2,3,4,5"

字符串类型的格式化

          槽,一个字符串中的定义。槽默认对应于后面的format()中的顺序;如果槽中有整数,则有以下意义:

        另外,槽中可以通过冒号来引导对格式化的配置方式,以下罗列六种:

其中,如果设置的宽度小于实际输出的宽度,输出依然会正常输出出来,宽度默认为输出自身的宽度。

八、time库(Python标准库)

python中处理时间的标准库。

主要的三类函数:

时间获取的函数中,

time()返回值是一个浮点数(最原生的状态);ctime()返回一个人能看懂的字符串格式;gmtime()返回一个可供计算机处理的时间格式。

时间格式化的函数中,

可以看出,前一个函数是获取时间信息,后一个函数是将字符串形式的时间信息转换成计算机可认的时间格式。

补充一下常见的格式化字符串:

程序计时中,

九、进度条设计

        实验表明,在用户体验上,如实的进度条,不如在整体上先慢后快的进度条让人愉悦。

       下面是一个模拟“如实”的进度条程序片段:

import time
scale=50
print("begin".center(scale,"-"))
start=time.perf_counter()
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    d=time.perf_counter()
    print("\r{:3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d),end="")
    time.sleep(0.1)
print("\n"+"end".center(scale,'-'))

十、程序的控制结构

二分支结构的紧凑形式:<表达式1> if <条件> else <表达式2>   如果满足条件,执行表达式1;否则执行表达式2。

紧凑形式中只能支持表达式,而不是语句。所以复杂语句还得用"if...else..."这个二分支结构。

多分支结构:if xxx: ... elif xxx: ... else: ...

操作符:== 表示“等于”; != 表示“不等于”。

用于两个条件进行组合的三个保留字: x and y  与运算;           x or y       或运算;             x not y  非运算。

分支结构是阅读代码时候的重要部分,看清它对阅读代码很重要。

遍历循环:for <循环变量> in <遍历结构>:<语句块> 

        解释:从遍历结构中依次取东西到循环变量,然后执行语句块,重复此操作直到遍历完成。

        计数循环: for i in range(N):...            这里的range()函数提供一个0到N-1的整数序列

                           for i in range(M,N):...        这里的range()函数产生一个M到N-1的整数序列

                           for i in range(M,N,K):...     这里的range()函数产生一个0到N-1,且步长为K的整数序列

        字符串遍历循环: for c in s:...            这里的字符串s依次提供它的每个字符给c

        列表遍历循环:     for item in ls:...     这里的列表ls依次提供它的每个元素给item

        文件遍历循环:     for line in fi:...       这里的文件标识符fi依次提供它所对应文件的每一行给line

        还有元组、字典等类型可以通过此种方式进行遍历。

无限循环:while xxx:...

循环控制保留字:break、continue

循环的扩展

            循环+else。如果循环执行到了break语句,则else部分的语句将不会被执行;否则,即循环正常执行完成(与continue无关哦),程序在循环完成之后将执行else之后的语句作为奖励。

十一、random库(Python标准库)

Python中用于生成(伪&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@wefree

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值