第一模块:python快速入门

(1.1) python环境配置

python3安装:直接下载好安装只是在系统上加了python,但相应的工具没有装上

Anaconda(蟒蛇):

1.python工作环境(python大礼包)

2.集成库(Numpy库、Pandas库)

3.提供开发环境(不需要繁琐的配置环境变量,直接就可以用),每个项目有独立的虚拟环境

环境变量:让系统认识这个软件或程序。如配置好python环境变量后,在终端直接输入关键字:python后,系统可以识别出

4.提供安装资源(常用的包)

** 注意:电脑中有其他版本的python,避免不必要的麻烦,卸载掉。**

(1.2) python库安装

打开Anaconda prompt 控制台键入:

复制代码
conda list  //展示anaconda环境下已经安装好的库有哪些
pip install xxx   //安装xxx包,并安装其依赖项
pip install xxx.whl  //安装下载到本地的whl包文件

(1.3)Notebook工具使用

打开Jupyter Notebook,所处位置为当前的工作环境

复制代码
点击右侧New按钮,选择python
点击Untitled(jupter图标后面),可以重命名
import numpy //导入numpy库
code下拉栏可以选择markdown做笔记、选择code写代码
↑ 箭头 //将当前单元格内容向上一格移动
✂剪刀 //将当前单元格内容删除
edit→Undo cell operation //回退当前单元格
File→open  // 回到主目录 
shift+Enter  //执行当前单元格内容

import os 
print (os.path.abspath('.'))  //打印当前工作空间的绝对路径

(1.4)python简介

数据挖掘

深度学习

计算机视觉

自然语言处理

机器学习

(1.5)python数值运算

复制代码
+ //加
-  //减
* //乘
/ //除
% //取余
** //幂
= //赋值
type() //打印类型
int() //类型转换为int 型
abs() //取绝对值
round()//取整
min() //取最小值
max()//取最大值
1.3e-5 //1.3的-5次幂
a=True //Bool类型

(1.6)python字符串操作

复制代码
len(str) //字符串长度
str.split() //切分字符串,默认以空格

text = "Hello world Python"
result = text.split()
print(result)  # ['Hello', 'world', 'Python']

str.split(',') //切分字符串,以逗号进行分割

data = "apple,banana,orange"
result = data.split(',')
print(result)  # ['apple', 'banana', 'orange']


str=['1 ','2;]   join(str)   a= ' '  a.join(str) //以' '代替逗号部分生成字符串
a=['1','2','3']
'+'.join(a)
#输出如下:
'1+2+3'
str.replace('A','B')//将字符串A替换为B,替换后新生成一个字符串
str.upper() //将字符串变为大写
str.lower() //将字符串变为小写
str.strip() //去掉字符串的空格
str.lstrip() //去掉字符串左面的空格
str.rstrip() //去掉字符串右面的空格

(1.7.1)python索引结构

复制代码
str='abc'
str[0] //输出a
str[-1] //输出c
可以从0开始,从后面开始是-1
str[0:2] //切片,从0到1.左闭右开区间
str[:] //输出str所有元素
substring = string[::2] //获取字符串中的所有偶数索引字符
语法说明‌:string[start:end:step],其中:

start 默认为 0(字符串开头),
end 默认为字符串长度(取到末尾),
step 为 2,表示每次跳过 1 个字符。

(1.7.2)list结构

复制代码
list=[ ] //空表
里面放任何类型都可以,没有长度限制
list操作:
	len(list) //返回列表长度
	a=[123,456] b=[789]
	a+b //列表a的元素和b元素构成新的列表
	a*3 //3个列表a的元素构成新的列表
	a[0] //输出列表第0个元素
	list[0:2] //切片,取列表元素,从0到1.左闭右开区间
	del list[0] //删除列表中的第一个元素
	8 in list //判断元素8是否在列表中

(1.8)list核心结构

复制代码
list可以再嵌套list
list计数:
	list.count('a') //统计a在list中出现几次
	list.index('a')//定位a在list中的索引
列表添加:
list.append('a')//添加一个元素a
list.insert(2,'a')//添加一个元素a在第2个位置上
list.remove('a')//去掉list中的第一个元素a
list.pop(1) //弹出list中的第1个元素
list.sort() //对list中元素进行排序,原始数据改变
list1= sorted(list)//将排序好的元素存入新的列表中,原始数据不变
list.reverse() //将元素倒置

(1.9)字典结构

复制代码
dic={} //创建一个字典
字典结构操作:
key-value
dic['first']=123 //dic字典中的键first值为123
dic['first'] //取字典中的键值
my_dict = {"a": 1, "b": 2, "c": 3} //访问键为 "a" 的值
value_a = my_dict["a"] print(value_a) # 输出: 1  
value_b = my_dict["b"] # 访问键为 "b" 的值
print(value_b)  # 输出: 2

(1.10)字典核心操作

复制代码
字典结构可以相互嵌套:
my_dict = {"a": 1, "b": 2, "c": 3}
value_c = my_dict.get("c")#使用 get() 方法获取键为 "c" 的值
print(value_c)  # 输出: 3
value_d = my_dict.get("d") # 如果键不存在,get() 方法会返回 None
print(value_d)  # 输出: None
value_e = my_dict.get("e", 0)  # 默认值为 0 # 也可以提供一个默认值,如果键不存在则返回该默认值
print(value_e)  # 输出: 0

使用pop()方法删除指定键值对并返回其值:
my_dict = {"a": 1, "b": 2, "c": 3}
deleted_value = my_dict.pop("b") # 删除键为 "b" 的键值对,并返回被删除的值
print(deleted_value)  # 输出: 2
print(my_dict)        # 输出: {'a': 1, 'c': 3}
使用 del 关键字删除指定键值对:
my_dict = {"a": 1, "b": 2, "c": 3}
del my_dict["a"] # 删除键为 "a" 的键值对
print(my_dict) #输出: {'b': 2, 'c': 3}

使用 update() 方法批量添加或更新键值对:
my_dict = {"a": 1, "b": 2}
my_dict.update({"d": 4, "e": 5})# 使用 update() 方法批量添加或更新键值对
print(my_dict)# 输出: {'a': 1, 'b': 5, 'c': 3, 'd': 4, 'e': 5}

dic.keys()#打印键值
dic.values()#打印值

(1.11)set(集合)结构

会保留下来唯一不重复的那些元素

my_set = {1, 2, 3 }# 使用大括号

my_set = set([1, 2, 3])# 使用 set() 函数

注意:空大括号 {} 不是用来创建空集合的,而是用来创建空字典。要创建一个空集合,你必须使用 set() 而不是 {}。

并集 (union 或者操作符 |):

合并两个或多个 sets 的所有唯一项。

交叉 (intersection 或者操作符 &):

找出两个或多个 sets 共有的项。

差异 (difference 或者操作符 -):

找出存在于第一个 set 中但不在其他 sets 中的所有项。

对称差异 (symmetric_difference 或者操作符 ^):

找出只存在于其中一个 set 中而不同时存在于两个 sets 中的所有项。

复制代码
a = {1, 2, 3}# 定义两个示例 set
b = {3, 4, 5}
print(a | b) # 输出 {1, 2, 3, 4, 5}# 并运算
print(a & b) # 输出 {3}# 取交运算
print(a - b) # 输出 {1, 2}# 差运算 (a 中有而 b 中没有)
print(a ^ b) # 输出 {1, 2 ,4 ,5}# 对称差分 (在 a 或 b 中但不同时在 a 和 b 中)
添加元素:
add(elem):向集合中添加单个元素 elem
更新元素:
pdate(*others):将其他集合中的元素添加到当前集合中。
删除元素:
remove(elem):从集合中移除元素 elem
pop():随机移除一个元素并返回它。由于 set 是无序的,因此无法确定哪个是"下一个"被删除的项。

(1.12)赋值机制

python为了提供内存效率,小的数共用一个id

复制代码
a=1
b=1
id(a)
id(b)

但大的数的id不一样

(1.13)判断结构

复制代码
单层判断:
a=50
if a>50:
	print('ok')
多层判断:	
a=50
if a>50:
	print('ok')
elif  a<100:
	print('okk')
else:
	print(okkk)

(1.14)循环结构

复制代码
for循环:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
while循环:
count = 0
while count < 5:
print(count)
count += 1

continue语句用于跳过当前循环的剩余部分并继续下一次迭代:
for i in range(10):
if i % 2 == 0:  # 如果i是偶数,则跳过当前迭代,继续下一个迭代
    continue
print(i)  # 只打印奇数

在循环中,break语句用于完全退出循环:
for i in range(10):
	 if i == 5:
    break  # 当i等于5时,退出循环
print(i)

(1.15)函数定义

定义函数:

复制代码
 def greet(name):
"""打印一个问候语"""
  print(f"Hello, {name}!")

调用:

复制代码
 greet("Alice")

带参数的:

复制代码
def describe_pet(pet_name, animal_type='dog'):
    """显示宠物的信息"""
    print(f"\nI have a {animal_type}.")
    print(f"My {animal_type}'s name is {pet_name}.")

调用:

复制代码
describe_pet('Willie')  # 使用默认参数
describe_pet('Harry', 'hamster')  # 位置参数
describe_pet(animal_type='hamster', pet_name='Harry')  # 关键字参数

带返回值的:

复制代码
def get_formatted_name(first_name, last_name):
    """返回整洁的姓名"""
    full_name = f"{first_name} {last_name}"
    return full_name.title()

调用:

复制代码
musician = get_formatted_name('jimi', 'hendrix')
print(musician)

不定参数:

复制代码
def add_number(a,*args):
	for i in args:
	 	a+=i
	 	return a
add_number(1,2,3)#调用

不定参数字典形式:

复制代码
def add_number2(a,**kwargs):
	for arg,value in kwargs.item():
		print(arg,value)
add_number(1,x=2,y=3)#调用

(1.16)模块与包

脚本文件:

复制代码
%%writefile a.py
		函数体

运行:

复制代码
%run a.py 

直接导入:

复制代码
import a #第一次导入执行
导入后,文件内的变量和函数都可以直接用
import a as b#导入并指定别名为b

从模块中导入指定内容:

复制代码
from math_utils import PI, add
#math_utils为模块名
#PI, add为模块内部的功能名
#导入多个功能用逗号分开
print(PI)
print(add(2, 3))

从模块中导入所有内容(不推荐,易冲突):from math_utils import *

import *如果这样写的话最好在模块源码内第一行做一个导出限制用:all=['要导出的功能']来实现

(1.17)异常处理模块

复制代码
try:
	执行代码块
except ValueError:
	print("异常")

结构:

复制代码
		try:
				<语句>        #运行别的代码
		except <名字>:
				<语句>        #如果在try部份引发了'name'异常
		except <名字>,<数据>:
				<语句>        #如果引发了'name'异常,获得附加的数据
		else:
				<语句>        #如果没有异常发生

(1.18)文件操作

无论哪种文件操作,核心流程都是:

打开文件(open) → 操作文件(读/写/修改) → 关闭文件(close)

重点:打开的文件必须关闭,否则会占用电脑内存,甚至导致文件损坏!

复制代码
 文件句柄 = open(文件路径, 模式, encoding=编码格式)

# 第一步:打开文件(桌面的test.txt,只读模式,utf-8编码)
# 注意:Windows路径中的\需要转义为\\,或用r前缀(原始字符串)
f = open(r"C:\Users\XXX\Desktop\test.txt", "r", encoding="utf-8")

读取全部内容:read()
语法:文件句柄.read(size)

# 覆盖写入(文件不存在则创建)
with open("write_test.txt", "w", encoding="utf-8") as f:
# 写入字符串
f.write("这是用w模式写入的内容\n")
f.write("第二行内容\n")
# 写入数字(需转字符串)
f.write(str(123456))
# (这里可以加读/写操作)
# 第三步:关闭文件
f.close()

(1.19)类的基本定义

复制代码
类:面向对象
class ClassName:
# 类变量
class_variable = "This is a class variable"

# 构造函数,调用类的时候默认执行构造函数
def __init__(self, parameter1, parameter2):
    # 实例变量
    self.instance_variable1 = parameter1
    self.instance_variable2 = parameter2

# 实例方法
def instance_method(self):
    print(f"Instance variable 1: {self.instance_variable1}")
    print(f"Instance variable 2: {self.instance_variable2}")

# 类方法
@classmethod
def class_method(cls):
    print(f"Class variable: {cls.class_variable}")

# 静态方法
@staticmethod
def static_method():
    print("This is a static method")

# 创建类的实例
instance = ClassName("Value 1", "Value 2") 
# 调用实例方法
instance.instance_method()

# 调用类方法
ClassName.class_method()
 
# 调用静态方法
ClassName.static_method()

继承:

子类(派生类 DerivedClassName)会继承父类(基类 BaseClassName)的属性和方法。

复制代码
#类定义
class people:
    #定义基本属性
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

#单继承示例
class student(people):
    grade = ''
    def __init__(self,n,a,w,g):
        #调用父类的构函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆写父类的方法
    def speak(self):
        print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))

s = student('ken',10,60,3)
s.speak()
# 输出
ken 说: 我 10 岁了,我在读 3 年级

方法重写#

复制代码
super() 函数是用于调用父类(超类)的一个方法。

	class Parent:        # 定义父类
	   def myMethod(self):
	      print ('调用父类方法')
	
	class Child(Parent): # 定义子类
	   def myMethod(self):
	      print ('调用子类方法')
	
	c = Child()          # 子类实例
	c.myMethod()         # 子类调用重写方法
	super(Child,c).myMethod() #用子类对象调用父类已被覆盖的方法
	 # 输出
	调用子类方法
	调用父类方法

(1.20)时间操作

复制代码
 可以利用时间函数计算程序或代码块运行的时间
 import time

from datetime import datetime

now = datetime.now()
print("当前日期和时间:", now)

import calendar
print(calendar.month(2026,11))
相关推荐
shughui3 小时前
2026年最新版Python安装和PyCharm安装教程(图文详细 附安装包)
开发语言·windows·python·pycharm·编辑器
草莓熊Lotso3 小时前
Python 入门必吃透:函数、列表与元组核心用法(附实战案例)
大数据·服务器·开发语言·c++·人工智能·python·qt
星空椰4 小时前
从零到实战:一套完整的 Python 爬虫技术体系(requests + BeautifulSoup + 正则 + JSON)
爬虫·python·json·beautifulsoup
天若有情67311 小时前
程序员原创|借鉴JS事件冒泡,根治电脑文件混乱的“冒泡整理法”
开发语言·javascript·windows·ecmascript·电脑·办公·日常
七颗糖很甜11 小时前
电离层对地基雷达测量精度的影响分析与校正方法
python
特种加菲猫11 小时前
继承,一场跨越时空的对话
开发语言·c++
AC赳赳老秦11 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
小熊Coding12 小时前
Python2D射击冒险闯关游戏2.0版本
python·pygame