Pycharm-基于Python的第三方开发工具及其功能示例

Pycharm 是一种开发工具,它是以 Python 为基础的。这种工具的处理效果比较好,更为优良。

Pycharm-基于Python的第三方开发工具及其功能示例

P001_add_two_number

Print(f””,)

P002_number_jiecheng

定义def函数(返回值return)

Print(“你想显示出来的话”,)

P003__area_of_circle

Math模块——math.pi

Round函数(计算式,保留小数的位数)

P004_print_primes 打印素数列表

Range函数(a,b)——返回a,b-1的范围列表

Range不包含结尾数字

冒号+return:相当于C语言中{ }的作用

从结果一步步向前倒退,从解决问题的角度出发,层层递进

True不能是true

P006_sum_of_list

List本身是Python中的一个变量类型

编程错误:

然而在 Python 中,:和空格是编译的标准。

P007_get_even_numbers

Append v.附加

result.append(item)

item表示元素

列表推导式

[item for item in range() if]

[item元素+for循环+条件]

创建一个列表 data ,通过遍历从 begin 到 end 的范围中的每个元素 item ,如果 item 除以 2 的余数为 0 ,则将该元素添加到 data 列表中 。
#列表推导式  形式:列表元素+for循环+判断
打印("开始 =", begin, "结束 =", end, "偶数:", data)

p009_get_unique_list

好神奇,不能输入01,但1就可以

set 是一种数据类型,它用于表示集合。list 也是一种数据类型,它用于表示矩阵或列表。这两者之间存在着一些区别。

Set 是集合的数据类型,所以它能够被用来进行去重操作,这样就能实现我们的 get_unique_list 函数的功能。

p010对简单列表元素排序

concept:

1、简单列表 :item不为列表、元组、字典

2、原地排序、改变排序后生成一个新的list

3、如何piont升序or降序

我的一些想法:

lista = [20,40,30,50,10]
listb = lista.sort()
print(f"lista is {listb}")

得到结果:

lista = [20,40,30,50,10]
#lista.sort()
listb = sorted(lista)
#listb 是按照升序进行排列的,这也就意味着我们的 reverse 默认值为 False 。
使用 sorted 函数对 lista 进行排序,排序规则是降序,排序后的结果存储在 listc 中。
Python 自带的函数是 sorted,它会在保存原有 list 的基础上创建一个新的 list。
print(f"lista is {lista}")
print(f"listb is {listb}")
print(f"listc is {listc}")

p011_sort_students_list

关键点:key的参数:传了一个函数进来

哈哈哈,按名字排序,不知道他是怎么排的


students = [
小张的学号是 101,成绩是 88。
有一个名为“小马”的人,其学号为 102,成绩为 99。
{"sno": 103, "sname": "小宋", "sgrade": 80} 这个数据结构中,包含学号为 103,姓名是小宋,成绩为 80 这三个信息。
该对象包含三个属性,分别是 sno 为 104,sname 为小红,sgrade 为 100。
]
学生排序 = 对学生进行排序,先将学生列表中的每个学生元素拿出来,然后比较这些学生元素的大小,按照一定的规则确定它们的先后顺序,最后将排序后的学生列表赋值给 students_sort 。
                       key=lambda x: x["sname"],
                       reverse=True)
指定怎样比较两两之间的元素,这是关键所在。因为我们的 list students 既不是数字列表,也不是字符串列表。
打印("对学生进行排序,排序结果:" + str(students_sort))
print(f"sort {students}")
打印("排序结果: {students_sort} ")
#也可以这样打印
print(students)
print(students_sort)

主动学习与Input

绝对路径和相对路径

绝对路径是文件真正存在的路径。它是从硬盘的根目录(盘符)开始,然后一级级地通过目录指向文件 python 创意 turtle 作品。

相对路径是以当前文件作为基准,然后进行一级级目录的指向,从而引用被引用的资源文件 python 新手代码练习。

3、以下是常用的表示当前目录和当前目录的父级目录的标识符

…/ 表示当前文件所在的目录的上一级目录

./ 表示当前文件所在的目录(可以省略)

/ 表示当前站点的根目录(域名映射的硬盘目录)

————————————————

版权声明:此为 CSDN 博主“镹黎同学”所创作的文章。该文章遵循 CC 4.0 BY-SA 版权协议。若要进行转载,需附上原文的出处链接以及此声明。

原文链接:

亲身实践才能发现错误多多:

我刚刚还处于摆烂的状态,十分焦头烂额。接着我胡乱进行了实验,竟然真的成功试出来了,这让我非常激动。

这是文本

我发现了一个错误,是我的粗心大意导致的。Sname 与 sgrade 之间的逗号是中文字符的逗号,而 snumber 与 Sname 之间的逗号是英文逗号,这就造成了下图的结果。

103,小例,99
104,小求,55
105,小哈,66
106,小被,22

我们读取到的是一个结构复杂的 list,其中识别的是英文逗号。因为它的发明者是外国人,所以才会这样。哈哈哈

常用编码之间的关系如下:

·GBK

汉字内码扩展规范全称为 Chinese Internal Code Specification,它于 1995 年被制定。此规范主要是对 GB2312 进行了扩展,在 GB2312 的基础上添加了更多的汉字,一共收录了 21003 个汉字。


def read_file():
    result = []
打开名为"student_grade_input.txt"的文件,使用"utf-8"编码方式,将其赋值给变量 fin 并进行后续操作。
        for line in fin:
line 进行操作,将其末尾的换行符去掉,而除了这个换行符之外的其他内容都复制给 line 。
result 会添加 line 以逗号分隔后的内容。即 result 会把 line 按照逗号进行分割后,将分割后的各个部分添加到 result 中。
    return result
def sort_grades(datas):
对 datas 进行排序,排序的依据是一个 lambda 函数,这个 lambda 函数以 x 为参数,返回 x[2]转换为整数后的结果,最终返回排序后的 datas。
                        reverse = True)
def write_file(datas):
使用 open("./student_grade_output.txt","w") 来打开文件,"w" 的含义是进行写出操作。以这种方式打开文件后,将其赋值给变量 fout 。
        for data in datas:
fout 写入由 data 中的元素用逗号连接而成的字符串,然后写入一个换行符。
#读取文件
datas = read_file()
打印("读取文件的数据:", datas)
#排序数据
我们现在读取的 sgrade 是以字符串的形式存在的。我们首先需要把它转变为数字。
读取的文件 datas 被传入 sort_grades 函数中,该函数返回了一个排序后的数据,即 datas 被排序后得到的结果。
打印("排序后的成绩数据:", datas)
#写出文件
write_file(datas)#不需要返回值

p013_compye_max_min_avg

我老眼昏花,一直打错 score,程序调了很久很久,不过这个过程很有趣,因为解决了问题所以就更有趣了。


def compute_score():
    scores = []
    with open(r"student_grade_input.txt",encoding="utf-8") as fin:
        for line in fin:
            line = line[:-1]
            fields = line.split(",")
将字段中的最后一个元素转换为整数后添加到列表 scores 中。
max_score 等于 scores 中的最大值  #max()min()均为 python 中已有的函数
    min_score = min(scores)
计算平均分数,先将所有分数求和,然后除以分数的个数,最后将结果保留两位小数。即先计算总和,总和为所有分数相加,再用总和除以分数的数量,最后对得到的商进行四舍五入保留两位小数,得到的结果就是平均分数。
返回最大分数、最小分数、平均分数
compute_score() 的结果分别赋值给了 max_score、min_score 和 mean_score
打印出“max_score 等于 max_score,min_socre 等于 min_score,mean_score 等于 mean_score”。

p014_count_word_in_article

1.对文章中单词个数进行计数

2.得到文章中出现次数最多的单词

重点:欺骗语法


word_count = {}    #建立一个字典
打开文件 "p014_article.txt" ,并将其赋值给变量 fin ,使用 with 语句来确保文件在使用后正确关闭 。
    for line in fin:
        line = line[:-1]
        words = line.split()
        for word in words:
            if word not in word_count:
                word_count[word] = 0
            word_count[word]  += 1
print(
    sorted(
        word_count.items(),
key 是一个 lambda 函数,它的作用是比较出现的次数,具体来说就是比较 x 的第二个元素,即出现的次数。
        reverse = True
我只想看排序次数多的元素,且只看前十个。
)

我想用此方法统计新闻中出现的字数,不可行

p015_size_of_file

获取文件大小可以使用 os.path.getsize 函数。列出目录中的文件可以使用 os.listdir 函数。判断一个路径是否为文件可以使用 os.path.isfile 函数。


import os
使用 os.path.getsize 函数来获取"student_grade_input.txt"文件的大小。该函数默认返回的是字节。
#os.path.getsize可以得到文件的大小
#计算出此文件下所有目录的大小
#step1 列出文件夹下所有文件
sum_size = 0  #初始化变量=0
for file in os.listdir("."):
os.listdir 能够列出目录下的所有文件,然而返回的内容中可能包含目录。
如果 os.path 是一个文件:  #isfile 函数能判断此文件是普通文件还是目录,我们的 venv 属于目录
        #os.path.isfile
sum_size 要加上 os.path.getsize(file) 的结果  #把这个结果传入 file 参与 sum 运算
打印("目录的所有大小:",总和大小 / 1000,"KB")

p016_arrange_file_by_ext

关键词:os shutil

os.listdir 用于列出文件,os.path.splitext() 用于拆分路径中的文件名和扩展名。

os.mkdir   

shutil.move

一、os模块概述

Python os模块包含普遍的操作系统功能。

二、os模块的作用

能够处理文件和目录等日常手动需做的操作。若希望程序能与平台无关,此模块就格外重要。

三、什么是shutil

shutil 可以被简单地理解为是由“sh”和“util”组合而成的,意味着它具有 shell 工具的含义。shutil 模块是对 os 模块的一种补充,其主要作用在于针对文件进行拷贝、删除、移动以及压缩和解压等操作。


import os
导入 shutil 模块,该模块是 shell 工具模块。
dir = "./arrange"
对于文件 in os.listdir(dir):  #os.listdir 用于列出文件——列出当前目录下的文件
ext 等于 os.path.splitext(file)之后获取的元组中的第二个元素  #os.path.splitext()返回的是一个元组,能够得到文件的后缀
    #ext 表示后缀名
    ext = ext[1:]   #去掉点号.
如果“dir”与“ext”拼接后的路径不是一个目录的话:
使用 os 模块创建目录,将目录路径设置为 f"{dir}/{ext}" ,通过 os.mkdir 函数来创建该目录 。
source_path 等于 dir 与 file 拼接后的结果  #需要自己进行目录的拼接操作
target_path 等于 dir 加上斜杠,再加上 ext 加上斜杠,最后加上 file
使用 shutil 模块的 move 函数,将 source_path 移动到 target_path 。 即将 source_path 这个路径下的文件或文件夹移动到 target_path 路径下 。 完成了从 source_path 到 target_path 的路径转移操作 。

p017_search_of_dict

关键词:

os.walk递归搜索目录

#可以用来清理磁盘的文件
import os
search_dir = "D:/plc实训设计"
result_files = []
对于根目录、子目录和文件,在 os.walk(search_dir) 中进行遍历;这是 os.walk 用于递归搜索目录的操作。
    # root 代表当前目录
    # dirs 代表当前目录下的子目录
    # files 代表当前目录下普通文件
    for file in files:
        if file.endswith(".txt"):
file_path 等于根目录(root)与文件名(file)拼接后的结果,这就是绝对路径。
result_files 会添加一个元素,该元素是一个包含文件路径(file_path)的元组。
获取文件路径 file_path 对应的文件大小,然后将其除以 1000 。
print(
    sorted(result_files,
           key=lambda x : x[1],
对其进行降序排列并取前 10 个元素
)

p018_course_grade_maxminavg

数据结构——字典{}

Python中常见的数据结构可以统称为容器。

序列,像列表和元组,是一类主要的容器。映射,如字典,是一类主要的容器。集合,是一类主要的容器。

序列包含列表、元组和字符串等类型。序列中的每个元素都有其特定的编号。在 Python 中,有 6 种内建的序列。其中,列表和元组是较为常见的类型。此外,还有字符串、Unicode 字符串、buffer 对象以及 xrange 对象。

映射中每个元素都有名字,如你所知,此名字专业名称为键。字典(也叫散列表)是 Python 中唯一的内建映射类型。

字典的键可以是数字,也可以是字符串,还可以是元组。并且键必须是唯一的。在 Python 中,数字被设计成不可变类型,字符串也被设计成不可变类型,元组同样被设计成不可变类型。而常见的列表是可变的,集合(set)也是可变的。所以,列表和集合不能作为字典的键。

集合在 Python 2.3 被引入。通常,使用较新版的 Python 就可以直接创建集合,如下所示:

strs 是一个集合,其中包含了 'jeff'、'wong' 和 'cnblogs' 这三个元素。

nums=set(range(10))

且set具有不重复性

Python自带的数据结构可分为可变和不可变的。

可变的有:数组、集合、字典;

不可变的有:字符串、元组、数。


#借助数字结构——字典来解决
course_grades = {}
课程对应的是成绩列表。
course_grades = {}
#读取文件
打开名为"course_student_grade_input.txt"的文件,并且设置编码为"utf-8",然后将其赋值给变量 fin 进行后续操作。
    for line in fin:
        line=line[:-1]
course 被分割成了各个部分,其中包括 sno、sname 和 sgrade,它们是通过 line.split(",")得到的。
        #fields可以拆成单个变量
如果课程不在课程成绩中。
            course_grades[course] = []
将课程的成绩添加到 course_grades 列表中,具体是将转换后的整数 sgrade 添加到 course 对应的列表中。
#fields 得到的是一个元组,我们首先要把 sgrade 这个字符串类型的变量转换为数字类型。
scores 会添加一个整数值,这个整数值是通过将 fields x 列表中的第二个元素转换为整数得到的。
现在我们得到的 scores 是一个列表,这个列表中的元素是数字类型的 sgrade。
print(course_grades)

with open(r"course_student_grade_input.txt",encoding="utf-8") as fin:
    for line in fin:
        line=line[:-1]
        course, sno, sname, sgrade = line.split(",")
        #fields可以拆成单个变量
        if course not in course_grades:
            course_grades[course] = []
将课程的成绩添加到 course_grades 列表中,具体是将通过字符串转换后的整数 sgrade 添加到 course 对应的列表中。

对比两个输出结果,我们能够清楚地得知并理解 Python 中的《空格编译原则》。

现在我们一个字典{}三个键

以这样的一个键为例,解读:

‘语文’是一个字符串,好像

:[88, 23, 45, 78, 67, 75]是一个元组,它会自动加上“ :”。

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读