python代码大全和用法,python代码大全简单

本文详细介绍了Python的基础代码示例,如函数定义、数学运算、列表操作、数据结构(列表、集合、字典)、排序算法、文件读写、编码问题以及数据分析(最大值、最小值、平均值)。涵盖了PyCharm工具、字符串处理、列表推导式和文件格式转换等内容。
摘要由CSDN通过智能技术生成

本篇文章给大家谈谈python代码大全和用法,以及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中的一个变量类型

编程错误:

If、for在C语言中都有{ },但是在Python中,:和空格是编译的标准

P007_get_even_numbers

Append   v.附加

result.append(item)

item表示元素

列表推导式

[item for item in range() if]

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

data = [item for item in range(begin,end) if item % 2 == 0]  
#列表推导式  形式:列表元素+for循环+判断
print(f"begin ={begin},end ={end},even numbers:", 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
listc = sorted(lista, reverse=True)

#sorted是Python中自带的函数,会在保存原有list的基础上,创造一个新的list
print(f"lista is {lista}")
print(f"listb is {listb}")
print(f"listc is {listc}")

p011_sort_students_list

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

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


students = [
    {"sno":101, "sname":"小张", "sgrade":88},
    {"sno":102, "sname":"小马", "sgrade":99},
    {"sno":103, "sname":"小宋", "sgrade":80},
    {"sno":104, "sname":"小红", "sgrade":100},

]


students_sort = sorted(students,
                       key=lambda x: x["sname"],
                       reverse=True)
#key是指定怎样比较两两之间的元素,因为我们的list students不是数字or字符串列表

#print(f"sort {students},sort result: {students_sort} ")
print(f"sort {students}")
print(f"sort result: {students_sort} ")

#也可以这样打印
print(students)
print(students_sort)

 主动学习与Input

绝对路径和相对路径

1、绝对路径就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件。
2、相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件python新手代码练习
3、以下是常用的表示当前目录和当前目录的父级目录的标识符
…/ 表示当前文件所在的目录的上一级目录
./ 表示当前文件所在的目录(可以省略)
/ 表示当前站点的根目录(域名映射的硬盘目录)
————————————————
版权声明:本文为CSDN博主「镹黎同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40913890/article/details/106993433

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

啊啊啊,我是刚刚还在摆烂之焦头烂额,然后胡乱实验,居然真的试出来了,我真的很激动。

这是文本的内容,我发现我的粗心大意的错误,Sname与sgrade之间的逗号是中文字符的逗号,而snumber与sname之间的逗号是英文逗号导致下图结果

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

我们读取到的复杂结构的list是识别的是英文逗号,毕竟他的发明者是外国人,哈哈哈

常用编码之间的关系如下:
在这里插入图片描述

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


def read_file():
    result = []
    with open(r"student_grade_input.txt",encoding="utf-8") as fin:
        for line in fin:
            line = line[:-1]#去掉每行末尾的换行符,而除去换行符的其他都复制给line
            result.append(line.split(","))
    return result

def sort_grades(datas):
    return sorted(datas,key=lambda x : int(x[2]),
                        reverse = True)

def write_file(datas):
    with open("./student_grade_output.txt","w") as fout:       #"w"代表写出
        for data in datas:
            fout.write(",".join(data) + "\n")


#读取文件
datas = read_file()
print("read_file datas:", datas)
#排序数据
#我们现在读取的sgrade是字符串的形式,我们先要将其转为数字
datas = sort_grades(datas)#把读取的文件datas传进去,返回一个排序后的数据
print("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.append(int(fields[-1]))


    max_score = max(scores)    #max()min()都是python中现成的函数
    min_score = min(scores)
    mean_score = round(sum(scores) / len(scores), 2)
    return max_score, min_score, mean_score




max_score, min_score, mean_score = compute_score()
print(f"max_score={max_score}, min_socre={min_score}, mean_score={mean_score}")

 p014_count_word_in_article

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

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

重点:欺骗语法



word_count = {}    #建立一个字典
with open(r"p014_article.txt") as fin:
    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: x[1],    #比较的是出现的次数
        reverse = True
    )[:10]     #我只想看排序次数多的前十个元素——欺骗语法
)

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

p015_size_of_file

关键词:os.path.getsize      os.listdir        os.path.isfile



import os
print(os.path.getsize("student_grade_input.txt"))    #getsize默认返回的是字节
#os.path.getsize可以得到文件的大小


#计算出此文件下所有目录的大小
#step1 列出文件夹下所有文件

sum_size = 0  #初始化变量=0

for file in os.listdir("."):
    #os.listdir 可以列出目录下所有文件,但是返回的可能也有目录
    if os.path.isfile(file):   #isfile 函数判断此文件是一个普通文件还是目录,我们的venv就是目录
        #os.path.isfile
        sum_size += os.path.getsize(file)   #将其sum的结果传入file

print("all size of dir:",sum_size / 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
import shutil  #sh+util shell工具模块

dir = "./arrange"

for file in os.listdir(dir):   #os.listdir 列出文件——列出当前目录下的文件
    ext = os.path.splitext(file)[1]  #os.path.splitext()返回的是一个元组,可以得到文件后缀
    #ext 表示后缀名
    ext = ext[1:]   #去掉点号.
    if not os.path.isdir(f"{dir}/{ext}"):
        os.mkdir( f"{dir}/{ext}")   #创建目录

    source_path = f"{dir}/{file}"  #需要自己拼接一下目录
    target_path = f"{dir}/{ext}/{file}"
    shutil.move(source_path,target_path)

 

 p017_search_of_dict

关键词:

os.walk递归搜索目录
#可以用来清理磁盘的文件

import os

search_dir = "D:/plc实训设计"

result_files = []

for roots, dirs, files in os.walk(search_dir):    #os.walk递归搜索目录
    # root 代表当前目录
    # dirs 代表当前目录下的子目录
    # files 代表当前目录下普通文件
    for file in files:
        if file.endswith(".txt"):
            file_path = f"{root}/{file}"  #绝对路径
            result_files.append((file_path,
                                 os.path.getsize(file_path) / 1000))

print(
    sorted(result_files,
           key=lambda x : x[1],
           reverse=True)[:10]         #降序排列
)

 p018_course_grade_maxminavg

数据结构——字典{}

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

序列(如列表list[]和元组)、映射(如字典{})以及集合(set)是三类主要的容器。

一、序列(列表、元组和字符串),序列中的每个元素都有自己的编号。Python中有6种内建的序列。其中列表和元组是最常见的类型。其他包括字符串、Unicode字符串、buffer对象和xrange对象。
二、映射(字典),映射中的每个元素都有一个名字,如你所知,这个名字专业的名称叫键。字典(也叫散列表)是Python中唯一内建的映射类型。
字典的键可以是数字、字符串或者是元组,键必须唯一。在Python中,数字、字符串和元组都被设计成不可变类型,而常见的列表以及集合(set)都是可变的,所以列表和集合不能作为字典的键。
三、集合,集合(Set)在Python 2.3引入,通常使用较新版Python可直接创建,如下所示:
strs=set(['jeff','wong','cnblogs'])
nums=set(range(10))

且set具有不重复性

Python自带的数据结构可分为可变和不可变的。
可变的有:数组、集合、字典;
不可变的有:字符串、元组、数。


#借助数字结构——字典来解决
course_grades = {}
# key: course, value: grade list
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[course].append(int(sgrade))
#fields得到的是一个元组,我们要先将sgrade的字符串类型的变量transfer数字类型
        #scores.append(int(fields x[2]))
        #现在我们得到的scores是数字类型的sgrade列表list
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[course].append(int(sgrade))

 关于对比两个输出结果,可清楚得知并且理解Python中的《空格编译原则》

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值