跳到正文
TranquilYu's Blog
返回

Python学习笔记其二

约 5 分钟 · 594 字
笔记
文章目录17 节
  1. 写在最前
  2. 输入与输出
  3. str.format占位符
  4. print分开字符串与变量
  5. input输入
  6. open函数
  7. os模块
  8. 函数
  9. name
  10. 模块
  11. 推导式
  12. 迭代器与生成器
  13. with 关键字
  14. 错误和异常
  15. 标准库概览
  16. 实例
文章目录17 节

写在最前

先看完教程链接,再看相关实例!

几个容易遇到的坑:

输入与输出

Python3 输入和输出 | 菜鸟教程

Python两种输出值的方式: 表达式语句和 print() 函数。

第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。

如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。

如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。

str.format占位符

name = "Bob"
age = 20
score = 88.456

print("姓名:{}, 年龄:{}, 成绩:{:.1f}".format(name, age, score))
# 输出:姓名:Bob, 年龄:20, 成绩:88.5

print("姓名:{0}, 年龄:{1}, 成绩:{2:.2f}".format(name, age, score))
# 输出:姓名:Bob, 年龄:20, 成绩:88.46

print分开字符串与变量

print(f"The value of test is: {test}")	##引号前加一“f”,在想要显示变量值的地方加一个大括号{},其中写入变量名

% 占位符

这是最早的字符串格式化方法。与C语言基本一致。常用的占位符包括:

%s:字符串

%d:整数

%f:浮点数

print("姓名:%s, 年龄:%d, 成绩:%.2f" % (name, age, score))

input输入

input("提示的文本")

一般直接赋给变量值

age = int(input("年龄"))		##由于年龄是个整型,这里使用int对其进行格式化

例子

name = input("姓名:")
age = int(input("年龄:"))
love_programming_language = input("喜欢的编程语言(以逗号分隔):")
age_after_3years = int(age + 3)

print("个人信息")
print(f"姓名:{name}")
print("年龄:%d", age)
print(f"喜欢的编程语言:{love_programming_language}")
print(f"三年后年龄:{age_after_3years}")

open函数

Python3 File 方法 | 菜鸟教程

os模块

Python3 OS 文件/目录方法 | 菜鸟教程

问题2:文件处理 编写一个程序,使用 os 模块和文件方法完成以下操作:1.创建一个名为”test files”的目录(如果不存在) 2.在该目录下创建一个文本文件”notes.txt 3.向文件中写入 3 行内容已创建目录: test files已向文件 notes.txt 写入内容 文件内容如下: 第1行: 这是第一行内容

第2行: Python文件操作练习

第3行: 使用os模块和文件方法

import os	##导入os模块

status1 = os.listdir()	##获取当前目录下文件,为下面看看有没有"test_files"做准备
if "test_files" in status1:	##判断"test_files"在不在当前工作目录下
    os.chdir("test_files")	##如果存在就切换工作目录到"test_files"中
else:
    os.mkdir("test_files")	##如果不存在就创建目录
    os.chdir("test_files")	##并进入"test_files"
status2 = os.listdir()	##获取"test_files"目录下文件,为下面看看有没有做准备
if "notes.txt" in status2:	##判断"notes.txt"在不在当前工作目录下
    os.remove("notes.txt")	##如果在就删除
with open("notes.txt", mode='x', encoding="utf-8") as f:	##创建并打开notes.txt,以写入方式打开(mode='x'),编解码方式为"utf-8"(使用utf-8以避免中文报错)
	f.write("这是第一行内容\nPython文件操作练习\n使用os模块和文件方法")	##写入内容至notes.txt
	f.flush()	##刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
	f.close()	##关闭文件。关闭后文件不能再进行读写操作。
print("已向文件notes.txt中写入内容")		##进行提示

函数

Python3 函数 | 菜鸟教程

name

Python namemain | 菜鸟教程

if __name__ == "__main__":
    main() 

命名为主函数。Python中,总是从主函数开始运行。

例如:

def greet():
    print("来自 example 模块的问候!")

if __name__ == "__main__":	##模块将从此处开始运行
    print("该脚本正在直接运行。")
    greet()
else:
    print("该脚本作为模块被导入。")

问题3:编写def函数

编写一个名为sum_and_average的函数

要求:函数接收一个包含数字的列表作为参数函数返回两个值:列表中所有数字的总和,以及这些数字的平均值

如果传入的列表为空,总和返回 0,平均值返回 0.0

编写代码测试这个函数,至少测试两种情况:包含数字的列表和空列表

例如:

def sum_and_average(list):	##定义sum_and_average(list)
    total = sum(list)	##求和
    count = len(list)	##统计传入列表中的值的数量
    average = total / count if count > 0 else 0	##判断,因为求平均要求分母不为零,有传入为空的要求,故进行判断,当传入为空时使average为0,传入不为空时用总和除以值的数量求平均
    print("求和:%d" %total)	##打印求和量,类型是整数
    print("平均:%.1f" %average)	##打印求平均量,类型是浮点型,保留小数点后一位
    return None	##返回None,此行代码可不写

if __name__ == "__main__":	##main
    before_list = input("输入一些数字,使用英文逗号间隔:")	##对传入数据在before_list变量中进行预存储,方便后续校验非空
    if not before_list:	##如果传入内容为空
        list = before_list	##则让list列表为空
    else:	##如果传入内容不为空
        list = [int(x) for x in before_list.split(',')]	##将输入before_list中值传入list中,英文逗号为分隔符
    sum_and_average(list)	##运行自定义函数

高难度内容,Python最难的内容,最抽象的内容,最绕的内容

Python3 面向对象 | 菜鸟教程

模块

Python3 模块 | 菜鸟教程

例如:

问题4:设计book类 设计一个Book类,要求如下 属性:书名(title)、作者(author)页数(pages) 方法:构造方法初始化所有属性 is_long()方法:如果页数超过 300 页,返回True,否则返回False

get_info()方法:返回包含书名、作者和页数的字符串,格式如”《Python 编程》- 张三 (280 页)”

最后创建 1个Book对象,分别调用上述方法并打印结果。

class Book:		##定义一个Book类
    def __init__(self,title,author,pages):  	##详情请见教程__init__类,必须要有self,否则无法传入主函数输入的变量值
        self.title = title
        self.author = author
        self.pages = pages
    def is_long(self):		##定义一个is_long函数
        if self.pages > 300:		##判断页数是否大于300
            return True		##如果大于300返回True
        else:
            return False		##如果小于300返回False

    def get_info(self):		##定义一个get_info函数
        info = f"{self.title} - {self.author} ({self.pages} 页)"		##配置一个info函数,方便后续显示
        return info		##返回info变量,方便后续调用


if __name__ == "__main__":		##主函数
    title = str(input("请输入书名(带书名号):"))		##获取书名
    author = str(input("请输入作者名:"))		##获取作者名
    pages = int(input("请输入页数:"))		##获取书页数
    x = Book(title,author,pages)		##将获取到的三个变量传入Book类对应的变量中
    print(f"是长书吗:{x.is_long()}")		##打印判断结果
    print(f"本书信息:{x.get_info()}")		##打印本书信息

推导式

Python 推导式 | 菜鸟教程

迭代器与生成器

Python3 迭代器与生成器 | 菜鸟教程

with 关键字

Python with 关键字 | 菜鸟教程

错误和异常

Python3 错误和异常 | 菜鸟教程

标准库概览

Python3 标准库概览 | 菜鸟教程

实例

Python3 实例 | 菜鸟教程


分享文章:

  1. Python学习笔记其三笔记 · PyTorch教程
  2. Python学习笔记其一笔记 · for与while的实战
  3. Python学习笔记其四笔记 · Pytorch教程
上一篇
将Windows中文用户主文件夹修改为英文
下一篇
Python学习笔记其一