Python基础——入门3(入门完结)

Python基础(Third)

文章目录

  • Python基础(Third)
  • 前言
  • 一、列表的嵌套例题
    • 1.一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配。
    • 2.利用循环嵌套实现添加购物车的操作
  • 二、元组
    • 1.元组的定义
    • 2.元组的访问
  • 三、字典
    • 1.字典的定义
    • 2.字典的访问
    • 3.字典的操作
  • 四、集合
    • 1.集合的定义
    • 2.集合的操作
  • 五、小结
  • 六、字符串的相关操作
    • 1.字符串的驻留机制
    • 2.字符串的驻留机制优缺点
    • 3.字符串的查询操作
    • 4.字符串的大小写转换操作
    • 5.字符串的内容对齐的操作
    • 6.字符串的劈分操作
    • 7.判断字符串的操作
    • 8.字符串的其他操作
    • 9.字符串的编码与解码
    • 10.字符串的比较操作
  • 七、函数
    • 1.函数的定义
    • 2.函数的创建
    • 3.函数的调用
  • 八、全局变量和局部变量
  • 九、BUG
  • 十、文件
    • 1.文件的创建
    • 2.文件的关闭
    • 3.文件的读与写
    • 4.文件的其他操作
  • 总结


前言

本次内容直接完结了Python基础部分,不足之处还请指出补充!谢谢!

一、列表的嵌套例题

1.一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配。

Python基础——入门3(入门完结)_第1张图片
输出结果为:
Python基础——入门3(入门完结)_第2张图片

Python基础——入门3(入门完结)_第3张图片
相当于其他语言里的二维数组。

2.利用循环嵌套实现添加购物车的操作

现有商品列表如下:
1 products = [[“iphone”,6888],[“MacPro”,14800],[“小米6”,2499],[“Coffee”,31],[“Book”,60],
[“Nike”,699]]
2. 根据上面的products列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应
的商品添加到购物车里,最终用户输入q退出时,打印购买的商品列表。

打印操作相对简单,使用for…in循环来遍历
Python基础——入门3(入门完结)_第4张图片
添加购物车的操作可以借鉴上个题目的随机分配的思想
Python基础——入门3(入门完结)_第5张图片
定义一些需要用到的变量,同时建立一个空的列表 长度和商品列表一致
Python基础——入门3(入门完结)_第6张图片
判断购物车列表中有无数字,即对应的商品列表中对应的商品有没有被添加,如果有,就输出并计数
输出结果为:
Python基础——入门3(入门完结)_第7张图片
Python基础——入门3(入门完结)_第8张图片

·····此题目作为入门题目建议多练几遍。

二、元组

1.元组的定义

与列表类似,属于不可变序列,元素写在小括号里面。,元素之间用逗号隔开,如果只含有一个元素,需要加个逗号来表示为元组类型。

Python基础——入门3(入门完结)_第9张图片

2.元组的访问

直接通过调用下标来进行访问。
Python基础——入门3(入门完结)_第10张图片

三、字典

1.字典的定义

    1、使用{}来定义
    2、使用dict()来定义

在这里插入图片描述

2.字典的访问

字典元素的获取
1、使用【】
2、使用get(键名,如果不存在默认输出的值)方法
Python基础——入门3(入门完结)_第11张图片
Python基础——入门3(入门完结)_第12张图片
Python基础——入门3(入门完结)_第13张图片

3.字典的操作

使用内置zip()函数,将俩个列表转换为字典,优先按照短的列表进行。
Python基础——入门3(入门完结)_第14张图片
在这里插入图片描述
其他操作类似于列表
Python基础——入门3(入门完结)_第15张图片
Python基础——入门3(入门完结)_第16张图片

四、集合

1.集合的定义

#集合:与列表、字典一样都属于可变类型的序列
#集合是没有value的字典,是无序的,重复元素在集合中自动过滤。

2.集合的操作

集合的创建:
1、使用{}进行创建 集合中的元素不允许重复
2、使用set()函数 集合中的元素是无序的
Python基础——入门3(入门完结)_第17张图片
集合的相关操作:
1、增加
add:向集合中添加一个元素
update:向集合中添加至少一个元素
2、删除
remove:一次删除一个指定的元素,元素不存在会报异常
discard:一次删除一个指定的元素,元素不存在不报异常
pop:一次删除一个任意的元素
clear:清空集合的内容

集合之间的关系:
1. 用==||!=判断集合是否相等
2. 一个集合是不是另一个集合的子集:
用issubset方法
3.一个集合是不是另一个集合的超集:(与子集相反)
用issuperset方法
4. 俩个集合是否有交集:
使用isdisjoint方法(没有交集为True,有交集为False)
5. 打印出交集的部分:使用intersection方法与&是等价的
6. 并集操作:使用union方法,与|等价(自动去重)
7. 差集操作:difference方法与-等价
8.对称差集:symmetric_difference = ^
Python基础——入门3(入门完结)_第18张图片
Python基础——入门3(入门完结)_第19张图片

五、小结

不可变序列: 没有增删改的操作
eg:字符串、元组
可变序列: 可以对序列进行增删改的操作,对象地址不发生更改
eg:列表、字典

六、字符串的相关操作

1.字符串的驻留机制

字符串的驻留机制:
1. 字符串的长度为0或1时
2. 符合标识符的字符串
3.字符串只在编译时进行驻留,而非运行时
4. 【-5,256】之间的整数数字
Python基础——入门3(入门完结)_第20张图片
Python基础——入门3(入门完结)_第21张图片
自己的理解为:驻留机制就是省去了再去开辟内存空间的资源。

2.字符串的驻留机制优缺点

字符串驻留机制的优缺点:
1. 当需要值相同的字符串时,可以直接从字符串池里拿来使用,
2. 避免频繁的创建和销毁,提升效率和节约内存,因此拼接字符串和修改字符串是比较影响性能的。
3. 在需要进行字符串连接的时候建议使用str类型的join方法,而非+,因为 join方法是先计算出所有字符串的长度,然后再拷贝,只new一次对象,效率比+高。

3.字符串的查询操作

字符串的查询操作的方法:

        index():查找子串substr第一次出现的位置,如果查找的字串不存在时,则抛出ValueError
        rindex():查找子串substr最后一次出现的位置,如果查找的字串不存在时,则抛出ValueError
        find():查找字串substr第一次出现的位置,如果查找的字串不存在时,则返回-1
        rfind():查找字串substr最后一次出现的位置,如果查找的字串不存在时,则返回-1

4.字符串的大小写转换操作

字符串的大小写转换操作的方法:

            upper():把字符串中所有字符都转成大写字母
            lower():把字符串中所有字符都转成小写字符
            swapcase():把字符串中所有的大写字母转成小写字母,把所有小写字母都转成大写字母’
            capitalize():把第一个字符转换为大写,把其余字符转换为小写
            title():把每个单词的第一个字符转换成大写,把每个单词的声誉字符转换为小写   

Python基础——入门3(入门完结)_第22张图片
Python基础——入门3(入门完结)_第23张图片

5.字符串的内容对齐的操作

字符串内容对齐的方法:

        center():居中对齐,第一个参数表示指定宽度,第二个参数指定填充符,第2个参数时可选的,默认说空格,如果设定宽度小于实际宽度则返回原字符串
        ljust():左对齐,第一个参数指定宽度,第2个参数是可选的,默认是空格,同上
        rjust():右对齐
        zfill():右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串的长度,返回字符串本身。

6.字符串的劈分操作

字符串的劈分:

split():从字符串左边开始劈分,默认以空格作为劈分符
    可通过sep=""改变劈分符
    可通过maxsplit设置最大劈分个数,达到最大劈分个数后,剩下一部分单独作为一个整体
rsplit():从右边开始

Python基础——入门3(入门完结)_第24张图片
Python基础——入门3(入门完结)_第25张图片

7.判断字符串的操作

判断字符串操作的方法:

    isidentifier():判断指定的字符串是不是合法的标识符
    isspace():判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符)  
    isalpha():判断指定的字符串是否全部由字母组成
    isdecimal():判断字符串是否全部由十进制的数字组成
    isnumeric():判断指定的字符串是否全部由数字组成
    isalnum():判断指定字符串是否全部由字母和数字组成

8.字符串的其他操作

字符串操作的其他方法:

        replace():字符串的替换。第一个参数指定被替换的字串,第二个参数指定替换字串的字符串,该方法返回替换后的字符串,第三个字符串指定替换的个数
        
        join():字符串的粘贴。将列表或元组中的字串连接成一个字符串 

9.字符串的编码与解码

字符串的编码与解码:

        encode():方法 encoding = "GBK"
        decode():解码

10.字符串的比较操作

字符串的比较操作:

        >,>=,<,<=,==,!=
        比较规则:首先比较俩个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比下去,
    直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中的所有后续字符将不再被比较。

七、函数

1.函数的定义

如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独
立功能的代码块组织为一个小模块,这就是函数

2.函数的创建

格式为:
def 函数名(形式参数):
代码块
[return]返回值
补充:
1.个数可变的位置参数
def fun(*args):
print(args)
结果为一个元组
2.个数可变的关键字形参
def fun2(**args):
print(args)
结果为字典

3.函数的调用

定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过 函数名() 即可完成调用
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210425155Python基础——入门3(入门完结)_第26张图片
Python基础——入门3(入门完结)_第27张图片

八、全局变量和局部变量

简言之,就是定义在函数内部的变量叫做局部变量,定义在函数外部的叫做全局变量。
如果全局变量和局部变量同名,函数体内优先调用局部变量。
可在局部变量前加global来修改全局变量

九、BUG

BUG即为异常,Python中对异常的解决比Java要简单许多。
处理BUG的方法:
1.try-except
2.try-except-else
3.try-except-else-finally
try:写入要执行的代码
except:写入可能出现的BUG,可通过as将BUG重命名并输出
else:没出现BUG要执行的代码
finally:无论如何都要执行的代码

十、文件

1.文件的创建

在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件
格式:open(文件名,访问模式)
Python基础——入门3(入门完结)_第28张图片

2.文件的关闭

使用close()方法

3.文件的读与写

写:
Python基础——入门3(入门完结)_第29张图片

读:
Python基础——入门3(入门完结)_第30张图片
Python基础——入门3(入门完结)_第31张图片
Python基础——入门3(入门完结)_第32张图片
eg:
Python基础——入门3(入门完结)_第33张图片

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210425162157744.png#pic_centerPython基础——入门3(入门完结)_第34张图片

4.文件的其他操作

文件的其他操作:

        文件重命名:rename            需要导入os
        文件删除:remove
        文件夹的创建:mkdir         需要导入os
        获取当前目录:getcwd()     需要导入os
        改变默认目录:chdir()       需要导入os
        获取目录列表:listdir()     需要导入os
        删除文件夹:rmdir()         需要导入os

在这里插入图片描述

总结

这里基本上就是Python基础的全部内容,下一步的学习是面向对象。Python中万物皆对象,在Python中定义类和Java有什么区别呢?敬请期待。

你可能感兴趣的:(Python入门,python)