欢迎光临
我们一直在努力

python基础与快速入门

请添加图片描述 🚗🚗🚗🚗🚗🚗🚗 数据结构专栏🚗🚗🚗🚗🚗🚗🚗🚗🚗🚗 🛹🛹🛹🛹🛹🛹🛹小知识总结分享🛹🛹🛹🛹🛹🛹🛹🛹🛹🛹 🚀🚀🚀🚀🚀🚀🚀题目历练场🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀 🚢🚢🚢🚢🚢🚢🚢功能包与集合类介绍🚢🚢🚢🚢🚢🚢🚢🚢🚢 🛞🛞🛞🛞🛞🛞🛞java EE🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞 🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️大模型🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️

前言

从本章博客开始系统学习大模型开发,前几篇文章主要是py语言的熟悉与学习.让我们开始吧!


一 、基础部分

1. 环境与pycharm的第一个python项目

环境配置

  • anaconda(水蟒) : 集成大量扩展包的环境。
  • 下载PyCharm在线编译环境。

![[Pasted image 20260610210927.png]]

2. 注释

![[Pasted image 20260610211704.png]]

3.变量

  • 变量

  • 存储数据的容器
  • 变量中存储的数据是临时的
  • 变量中的数据是可以发生变化的
  • 定义

  • 变量 = 变量是数值 后者赋值给前者
  • 不能以数字开头,严格区分大小写,不能内置关键字
  • 必须使用字母,数字,下划线

4.数据类型(软编译语言)

int整数
float 浮点型
Boolean 真假
String 字符串

a = 10
b = 9.99
c = False
d = '多多益善'
print(type(a))
print(type(b))
print(type(c))
print(type(d))

5.运算类型

加法
减法 –
乘法 *
除法(浮点数) /
整除 //
幂指数 a ** b
取模 %

6.输入输出

  • 输入

password = input('请输入你的密码:')
print(password)
print(type(password)) # string类型

num1 = int(input('请输入整数'))
print(num1)
print(type(num1))

num2 = float(input('请输入浮点数'))
print(num2)
print(type(num2)

  • 输出 ![[Pasted image 20260610222657.png]]

# 通过格式化输出
name = '多多'
age = 18
print(f'我的名字是{name}岁了,今年{age:.2f}',end='.')

7.模块(包)

  • import 模块 / form 模块名 import 函数名或变量名

import random
print(random.randint(1, 10))

from random import randint
print(randint(1, 10))

8.选择结构

if…else单分支
if…elif…else 多分支
if…(if…) 嵌套
and or not 且 或 取非

9.循环结构

for循环

for i in 'hello world':
print(i)

sum = 0
for a in range(1,101):
sum += a
print(sum)

for i in range(1,5): #1-4
if i == 3:
print(f'第{i}个有脏东西,吃下一个')
continue
print(f'正在吃第{i}个苹果')

print()

for i in range(1, 5): # 1-4
if i == 3:
print('吃饱了 就不吃了')
break
print(f'正在吃第{i}个苹果')

10. 数据容器

一 、列表list[]

# 创建
list = [10,20,30]
print(list[0])
print(list[1])
print(list[2])
print(list)

# 添加元素
list.append(40)
print(list)

# 删除元素
del list[0]
print(list)

# 更新元素
list[0] = 99
print(list) # 此时下表1 就是20 更新为99

# 遍历
for item in list:
print(item)

list1 = [1,2,3]
list2 = [4,5,6]

# 长度
print(len(list1))

# 加法合并
print(list1 + list2)

# 乘法复制
print(list1*3)

# 关键字是否在列表中
print(3 in list1)
print(3 in list2)

切片操作

  • 看步长 + : 向右移动
  • 绘制索引
  • 只顾头不顾尾
  • # 切片
    list1 = [1,2,3,4,5,6,7]

    print(list1[0:3:1]) #1-4
    print(list1[0:3:2]) #1 3
    print(list1[0:3]) # 默认是步长1

    print(list1[0:]) # 从左索引 到最后结束
    print(list1[:5]) # 从0开始到 5-1print(list1[::]) # 截取整个列表
    print(list1[::–1]) # 倒着打印

    相关函数

    # 合并新列表
    list2 = [1,2,3,4,5,6,7]
    list2.extend([10,11,22])
    list2.remove(6)
    print(list2)

    list2.reverse()
    print(list2)

    list2.sort() # 默认是倒叙
    print(list2)
    list2.sort(reverse=True)
    print(list2)

    二、元组(非可变容器) ()

    ! 注意 : 一个数据的时候 需要用逗号标识

    tuple1 = (10,)
    print(type(tuple1))

    tuple2 = (1,2,3) # 索引定位
    print(tuple2[0])

    for item in tuple2:
    print(item)

    print(tuple2.count(1))

    三 、字典(键值对) {}

    # 字典
    dict1 = {}
    dict2 = {'雷神' : '雷伊','属性':'电系'}

    # 直接打印
    print(dict1)
    print(dict2)

    # 通过key 找到val
    print(dict2['雷神'])

    # 更新
    dict2['雷神'] = '雷霆万钧-雷神雷伊'
    print(dict2)
    dict2['光之子'] = '小米'
    print(dict2)

    # 删除
    del dict2['光之子']
    print(dict2)

    # 清空
    dict2.clear()
    print(dict2)

    集合(无序,去重){}

    #集合
    # 定义集合
    set1 = set()

    set1 = {1,2,3}
    print(set1)

    set2 = {1,1,1,2,2,3}
    print(set2)

    set3 = {1,2,3,4,5,6}
    set4 = {4,5,6,7,8,9,10}

    # 交集
    print(set4 & set3)
    # 并
    print(set3|set4)
    # 差集
    print(set4–set3)
    print(set3–set4)
    print(set3^set4)

    11.函数部分

    一 、函数

  • def 函数名(形参) :
  • 不需要指明返回值类型
  • 全局变量 : 在函数之外,在全局和局部中都都可以访问 局部变量 : 在函数之内,在局部中访问
  • **globle关键字: 在局部作用域中声明全局变量,就可以在局部作用域中控制全局变量了
  • num = 100
    num1 = 100
    def func1():
    global num
    num = 0
    print(num)

    func1() # 0

    print(num) #0
    print(num1) #100

  • 传参方式
  • 位置传参func('tom','20','美国')
    关键词传参 func(name= 'tom',address='美国',age=20)
  • 默认参数 : 放在一般参数的右边
  • def func(name,age,address = '美国'):
    print(name,age,address)

    func('tom',20)
    func('多多',18,'中国') # 可以覆盖

  • 不定长参数(函数参数不固定)
  • *args默认以元组形式进行参数暂时存储
    **kwargs 默认以用字典形式对参数进行缓存

    def func1(*args):
    print(args)

    func1(1,2,3,4) # (1,2,3,4)

    def func2(**kwargs):
    print(kwargs)

    func2(name = 'tom',age = 18) #{'name': 'tom', 'age': 18}

  • lambda 表达式
    • lambda 参数列表 : 表达式

    func = lambda : 100
    print(func())

    func1 = lambda a,b: a+b
    print(func1(10,99))

    func2 = lambda a,b,c=100: a+b +c
    print(func2(10,99))

    func3 = lambda *args : args
    print(func3(1,2,3))

    func4 = lambda **kwargs: kwargs
    print(func4(雷神= '雷伊')) // key 不用添加'',val需要添加

    12.面向对象

  • 万物都可是对象,都可以被实例化.
    • 分析动作是那些实体发出的
    • 实体,添加对应的属性与方法
    • 让对象调用相应的功能与动作
  • 类的定义
    • class 类名 (object) : 属性/方法

    class Student(object):
    def eat(self):
    print('正在吃东西')

    def sleep(self):
    print('正在睡觉')

    s1 = Student()
    s1.eat()
    s1.sleep()

    s2 = Student()
    s2.eat()
    s2.sleep()

  • self关键字 指向类实例化的对象本身
  • class person(object):

    def speak(self):
    print(self)
    print('hello')

    p1 = person()

    print(p1) # <__main__.person object at 0x000001EAA87EFF80>
    p1.speak() # <__main__.person object at 0x000001EAA87EFF80>

  • 属性 实例化后进行属性的添加
  • class person(object):
    pass # 没有效果 保证代码完整性
    p1 = person()
    # 设置与获取
    p1.name = 'tom'
    print(p1.name)

  • _ init _ () | _ call _ () 魔术方法 (类似于构造方法)
  • class person(object):

    def __init__(self,name,age):
    self.name = name
    self.age = age

    p1 = person('多多','20')

    print(p1.name)
    print(p1.age)

    # 将实例化对象当做函数进行调用
    class Adder(object):
    def __init__(self,val = 0):
    self.val = val

    def __call__(self,x):
    return self.val + x

    adder = Adder()
    print(adder(2)) # 用实例化的对象 进行传参

  • 继承 只能继承父类中公共方法与属性
  • class person(object):
    def __init__(self,name,age):
    self.name=name
    self.age=age

    def speak(self):
    print("我会说中文")

    class student(person):
    pass

    s1 = student("多多",20)
    s1.speak()
    print(s1.name)
    print(s1.age)

  • 重写(覆盖) 子类中与父类方法重名后,子类方法就会覆盖父类方法
  • class person(object):
    def __init__(self,name,age):
    self.name=name
    self.age=age

    def speak(self):
    print("我会说中文")

    def eat(self):
    print("吃东西")

    class American(person):
    def speak(self):
    print("i can speak english")

    american = American("多多",20)
    american.speak()
    american.eat() # 默认还是父类的方法

    • super在重写的方法中,可以强制调用父类方法

    class person(object):
    def __init__(self,name,age):
    self.name=name
    self.age=age

    def speak(self):
    print("我会说中文")

    def eat(self):
    print("吃东西")

    class American(person):
    def __init__(self,name,age,sex):

    super().__init__(name,age) #强制调用父类方法
    self.sex =sex # 子类自己特别的属性

    def speak(self):
    print("i can speak english")

    american = American('多多',20,'女')
    print(american.name,american.age,american.sex)

    总结

    因为py是弱编程语言,学习起来还是比较简单的.下一篇介绍py面向对象的知识.那下一章见喽~

    • 我是Dylan
      • 无限进步
    赞(0)
    未经允许不得转载:171主机测评 » python基础与快速入门
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址