Python入门笔记(全是干货)
Python入门学习笔记引号的运用①单引号和双引号都可用于输出。如print(Hello)和Print(Hello)是一样的效果②转义字符 \当print中有\转义字符时会将后面紧接着的那个字符(这个字符可以是 ‘ 或 “ )一起打印。如print(Hello \ World)的输出结果是Hello World③三引号的使用当print中有三引号时会根据文本的格式自动换行输入print(111 2222 3333)会输出111 2222 3333命名规则下划线命名法单词用英文连接用下划线_如user_namemath库的使用math.xxx()如计算求根公式import math a 1 b 2 c 1 delta b**2 - 4*a*c x (-b math.sqrt(delta)) / (a*2) #开平方跟函数 y (-b - math.sqrt(delta)) / (a*2) print(x,y)警告⚠️千万不要这么写x (-b math.sqrt(delta)) / a*2这样写会将括号里面的值算出来之后先除以a再乘2结果将不会是求根公式的结果注释的操作注释 (三引号)#注释 井号键变量类型#布尔类型 b1 True b2 False ​ #字符串 s Hello World! ​ #整数类型 a 1 ​ print(type(b1)) print(type(s)) print(type(a)) print(type(1.5))输入input()是Python的输入函数# BMI 体重 / (身高 ** 2) user_weight input(请输入你的体重单位kg) user_hight input(请输入你的身高单位m) user_weight float(user_weight) user_hight float(user_hight) bmi user_weight / (user_hight ** 2) print(你的BMI是 str(bmi))警告⚠️input的输入得到的全部都是字符串类型如user_weight是字符串类型运算需要转换为数值类型输出print也只能输出字符串类型如果是数值需要用str函数转换后输出条件语句lover_index input(请输入对象的心情指数0-100) lover_index_int int(lover_index) if lover_index_int 60: print(去玩游戏吧) else: print(为了自个的小命还是不能玩了)警告⚠️if和else后面的执行语句都需要缩进这是Python的固定代码格式逻辑运算and是并的意思相当于C语言的or是或的意思相当于C语言的||not是非的意思相当于C语言的!容器-列表list列表的标识就是中括号[]shopping_list [] shopping_list.append(键盘) shopping_list.append(鼠标) print(shopping_list) shopping_list[1] 电脑 print(shopping_list) shopping_list.remove(键盘) print(shopping_list)警告⚠️列表中可以放任意类型的变量通过append在尾部添加也可以通过remove移除列表中的变量容器-字典dict字典的标识就是花括号{}dict {小明:123, 小红:456} ​ dict[小绿] 789 ​ query input(请输入要查询的信息) if query in dict: print(你查询的含义如下) print(dict[query]) else: print(未查询到信息)警告⚠️字典中是一一对应的关系键值的存储类型循环while循环print(这是一个求平均值的程序\n) result 0.0 i 0 user_input input(请输入数字完成数字输入后输入q终止程序:\n) while user_input ! q: result float(user_input) i 1 user_input input(请输入数字完成数字输入后输入q终止程序:\n) print(平均值结果为 str(result/i))for循环total 0 for i in range(1,101): total total float(i) print(total)format使用student_list {小明: 123,小红: 456,小绿: 789} for name,flag in student_list.items(): print({0}你好,你的标志是:{1}.format(name,flag)) print(f{name}你好,你的标志是{flag})库的使用pypi.org可以搜寻官方库PyPI · The Python Package Index面向对象编程①类类的命名首字母大写多个字母连接每个单词的首字母大写如CuteCat。类的简单使用class Student(): def __init__(self,name,id): self.name name self.id id self.score {语文:0,数学:0,英语:0} ​ def setscore(self,course,score): if course in self.score.keys(): self.score[course] score else: print(不存在此科目) ​ def printscore(self): print(f{self.name}的成绩是:{self.score}\n) ​ stu Student(小明,123) stu.printscore() stu.setscore(语文,100) stu.printscore()②封装不需要知道类中的方法具体怎么操作只需直接调用方法③继承子类可继承父类的方法减少方法函数的重复class Employee: def __init__(self,name,id): self.name name self.id id ​ def print_info(self): print(f员工姓名{self.name},员工工号{self.id}) ​ class FullTimeEmployee(Employee): def __init__(self,name,id,monthly_salary): super().__init__(name,id) #继承父类调用父类的变量赋值 self.monthly_salary monthly_salary ​ def calculate_monthly_pay(self): return self.monthly_salary ​ class PartTimeEmployee(Employee): def __init__(self, name, id, daily_salary): super().__init__(name, id) self.daily_salary daily_salary ​ def calculate_monthly_pay(self): return self.daily_salary*22 ​ employee_first FullTimeEmployee(小明,123,8000) employee_first.print_info() print(f{employee_first.name}的月薪是{employee_first.calculate_monthly_pay()}) ​ employee_sec PartTimeEmployee(小红,456,200) employee_sec.print_info() print(f{employee_sec.name}的月薪是{employee_sec.calculate_monthly_pay()})④多态子类中继承的父类的方法不同子类继承的方法实现的效果和具体操作不一样文件操作读文件read返回全部文件内容的字符串readline返回一行文件内容的字符串readlines返回全部文件内容组成的列表f open(./data.txt,r,encodingutf-8) # content f.read() # print(content) ​ # content_line f.readline() # print(content_line) ​ content_lines f.readlines() print(content_lines) for line in content_lines: print(line) ​ f.close()open函数中的文件操作模式w只写模式清空所有文件内容之后写r只读模式a附加模式在原有文件内容上附加内容r既可以读也可以写with open(./poem.txt,w,encodingutf-8) as f: f.write(Hello\n) f.write(World\n) ​ with open(./poem.txt,a,encodingutf-8) as f: f.write(你最帅了\n) ​ with open(./poem.txt,r,encodingutf-8) as f: content f.read() print(content) f.write(拜拜\n)测试单元测试库中的类unittest.TestCase以下是一个单元测试的例子原本的实行代码class ShoppingList: def __init__(self,shopping_list): self.shopping_list shopping_list def get_item_count(self): return len(self.shopping_list) def get_total_price(self): total_price 0 for price in self.shopping_list.values(): total_price price return total_price单元测试代码from shopping_list import ShoppingList import unittest ​ class ShoppingListTest(unittest.TestCase): def setUp(self): self.shopping_list ShoppingList({帽子:5,鞋子:50,手套:10}) def test_get_item_count(self): self.assertEqual(self.shopping_list.get_item_count(),3) def test_get_total_price(self): self.assertEqual(self.shopping_list.get_total_price(),55)执行单元测试代码的方式在终端输入python -m unittest警告⚠️代码文件的命名千万不要有数字不然会测试不了如单元测试的文件命名为1_test.py(.venv) PS D:\Project\Python_入门\1 python -m unittest .F FAIL: test_get_total_price (test_shoplist.ShoppingListTest.test_get_total_price) ---------------------------------------------------------------------- Traceback (most recent call last): File D:\Project\Python_入门\1\test_shoplist.py, line 10, in test_get_total_price self.assertEqual(self.shopping_list.get_total_price(),55) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: 65 ! 55 ​ ---------------------------------------------------------------------- Ran 2 tests in 0.001s ​ FAILED (failures1)以下是运行结果有一个测试不通过以下写明了原因65!55.F的意思是第一个测试成功第二个测试失败匿名函数lambda num1,num2:num1num2#定义的方式 ​ result (lambda num1,num2:num1num2)(2,3)#调用方式 print(result)函数作为参数第一个函数中的第二个参数calculator是函数本体相当于C中的函数指针意思是把函数传递过去def calculate_and_print(num,calculator): result calculator(num) print(f |输入| {num} |输出| {result}) def calculator_square(num): result num*num return result def calculator_plus_10(num): result num 10 return result ​ a_res calculate_and_print(1,calculator_plus_10) ​ b_res calculate_and_print(2,calculator_square)

相关新闻

Chandra大模型微调指南:使用CSDN开源数据集

Chandra大模型微调指南:使用CSDN开源数据集

Chandra大模型微调指南:使用CSDN开源数据集 1. 引言 你是不是曾经遇到过这样的情况:用一个通用的大模型来处理特定领域的任务,结果总感觉差那么点意思?比如让模型写技术博客,它可能写得通顺,但缺乏那种专…

2026/7/3 23:47:39 阅读更多 →
查重高 + AI概率高?百考通智能降重同步降低重复率与AI生成风险!

查重高 + AI概率高?百考通智能降重同步降低重复率与AI生成风险!

论文写完,满怀期待点开查重系统——结果跳出个33%?心一沉。 不死心,又试了学校用的AI检测工具,好家伙,直接标红:“高度疑似AI生成”? 你当场懵住:我连AI都没开过!这可是我…

2026/5/17 9:19:26 阅读更多 →
cv_resnet18_ocr-detection对比评测:比PaddleOCR更轻量,部署更简单

cv_resnet18_ocr-detection对比评测:比PaddleOCR更轻量,部署更简单

cv_resnet18_ocr-detection对比评测:比PaddleOCR更轻量,部署更简单 1. 引言:OCR部署的痛点与新选择 如果你尝试过在本地服务器或边缘设备上部署OCR服务,大概率会遇到过这样的烦恼:模型太大,动辄几百兆甚至…

2026/7/5 7:24:32 阅读更多 →

最新新闻

Leetcode新动循环嵌套之数组异或操作、好数对的数目、统计好三元组

Leetcode新动循环嵌套之数组异或操作、好数对的数目、统计好三元组

1486.数组异或操作class Solution:def xorOperation(self, n: int, start: int) -> int:nums []for i in range(n):nums.append(start 2*i)resultnums[0]for i in range(1,n):result ^ nums[i]return result1512.好数对的数目class Solution:def numIdenticalPairs(self,…

2026/7/5 14:06:16 阅读更多 →
[特殊字符] Oracle EBS 中国客户(校正版)华为确实是 Oracle EBS 的老客户,不是 SAP。时间线先给你对齐:华为 1996 年引入 MRP Ⅱ,之后 20 多年核心 ERP 是

[特殊字符] Oracle EBS 中国客户(校正版)华为确实是 Oracle EBS 的老客户,不是 SAP。时间线先给你对齐:华为 1996 年引入 MRP Ⅱ,之后 20 多年核心 ERP 是

🟢 Oracle EBS 中国客户(校正版)华为确实是 Oracle EBS 的老客户,不是 SAP。时间线先给你对齐:华为 1996 年引入 MRP Ⅱ,之后 20 多年核心 ERP 是 Oracle EBS,支撑全球 170 国家、每年数千亿产值…

2026/7/5 14:06:16 阅读更多 →
HiveWE终极指南:如何快速创建魔兽争霸III地图的完整教程

HiveWE终极指南:如何快速创建魔兽争霸III地图的完整教程

HiveWE终极指南:如何快速创建魔兽争霸III地图的完整教程 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 你是否曾经因为魔兽争霸III原版地图编辑器的卡顿而失去创作热情?是否在复杂的…

2026/7/5 14:02:16 阅读更多 →
HarmonyOS ArkTS 实战:实现一个校园食堂排队取餐记录应用

HarmonyOS ArkTS 实战:实现一个校园食堂排队取餐记录应用

项目效果 本文实现一个基于 HarmonyOS 和 ArkTS 的校园食堂排队取餐记录应用。应用可以记录不同食堂窗口的排队时间、用餐时段和口味评价,并支持取餐状态切换、推荐窗口筛选、长队统计和平均等待时间统计。 最终运行效果如下:页面功能包括: 记…

2026/7/5 14:00:15 阅读更多 →
Kimi    LeetCode 3464. 正方形上的点之间的最大距离 Python3实现

Kimi LeetCode 3464. 正方形上的点之间的最大距离 Python3实现

LeetCode 3464. 正方形上的点之间的最大距离 — Python3 实现题目概述给定正方形边长 side,以及位于正方形边界上的若干点。需要从中选出 k 个点,使得任意两点之间的最小曼哈顿距离最大化。- 曼哈顿距离:|x1 - x2| |y1 - y2| - 关键约束&…

2026/7/5 14:00:15 阅读更多 →
六西格玛在AI与云原生时代的实战重构:女性技术专家的质量方法论

六西格玛在AI与云原生时代的实战重构:女性技术专家的质量方法论

1. 项目概述:一场聚焦女性科技从业者的行业活动,为何以“Sixies”为名?“Women Working in Tech Event Features Sixies”——这个标题乍看像一则简讯,但拆开来看,信息量远超表面。“Women Working in Tech”直指核心人…

2026/7/5 13:58:15 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻