python基础与快速入门

🚗🚗🚗🚗🚗🚗🚗 数据结构专栏🚗🚗🚗🚗🚗🚗🚗🚗🚗🚗

🛹🛹🛹🛹🛹🛹🛹小知识总结分享🛹🛹🛹🛹🛹🛹🛹🛹🛹🛹

🚀🚀🚀🚀🚀🚀🚀题目历练场🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀

🚢🚢🚢🚢🚢🚢🚢功能包与集合类介绍🚢🚢🚢🚢🚢🚢🚢🚢🚢

🛞🛞🛞🛞🛞🛞🛞java EE🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞🛞

🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️大模型🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️🙂‍↔️

前言

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


一 、基础部分

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

环境配置

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

2. 注释

3.变量

  • 变量

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

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

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

int 整数
float 浮点型
Boolean 真假
String 字符串
python 复制代码
a = 10  
b = 9.99  
c = False  
d = '多多益善'  
print(type(a))  
print(type(b))  
print(type(c))  
print(type(d))

5.运算类型

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

6.输入输出

  • 输入
python 复制代码
password = input('请输入你的密码:')  
print(password)  
print(type(password))  # string类型  
  
num1 = int(input('请输入整数'))  
print(num1)  
print(type(num1))  
  
num2 = float(input('请输入浮点数'))  
print(num2)  
print(type(num2)
  • 输出
python 复制代码
# 通过格式化输出  
name = '多多'  
age = 18  
print(f'我的名字是{name}岁了,今年{age:.2f}',end='.')

7.模块(包)

  • import 模块 / form 模块名 import 函数名或变量名
python 复制代码
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循环
Python 复制代码
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\[\]

python 复制代码
# 创建  
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)

切片操作

  1. 看步长 + : 向右移动
  2. 绘制索引
  3. 只顾头不顾尾
python 复制代码
  
# 切片  
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]) # 倒着打印

相关函数

Python 复制代码
# 合并新列表  
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)

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

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

python 复制代码
  
tuple1 = (10,)  
print(type(tuple1))  
 
tuple2 = (1,2,3) # 索引定位  
print(tuple2[0])  
 
for item in tuple2:  
   print(item)
   
 
print(tuple2.count(1))

三 、字典(键值对) {}

python 复制代码
# 字典  
dict1 = {}  
dict2 = {'雷神' : '雷伊','属性':'电系'}  
 
# 直接打印  
print(dict1)  
print(dict2)  
 
# 通过key 找到val  
print(dict2['雷神'])  
 
# 更新  
dict2['雷神'] = '雷霆万钧-雷神雷伊'  
print(dict2)  
dict2['光之子'] = '小米'  
print(dict2)  
 
# 删除  
del dict2['光之子']  
print(dict2)  
 
#   清空  
dict2.clear()  
print(dict2)

集合(无序,去重){}

python 复制代码
#集合  
# 定义集合  
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.函数部分

一 、函数

  1. def 函数名(形参) :
  2. 不需要指明返回值类型
  3. 全局变量 : 在函数之外,在全局和局部中都都可以访问 局部变量 : 在函数之内,在局部中访问
  4. **globle关键字: 在局部作用域中声明全局变量,就可以在局部作用域中控制全局变量了
python 复制代码
num = 100  
num1 = 100  
def func1():  
    global num  
    num = 0  
    print(num)  
  
func1() # 0  
  
print(num) #0  
print(num1) #100
  1. 传参方式
位置传参 func('tom','20','美国')
关键词传参 func(name= 'tom',address='美国',age=20)
  1. 默认参数 : 放在一般参数的右边
python 复制代码
def func(name,age,address = '美国'):  
    print(name,age,address)   
  
func('tom',20)  
func('多多',18,'中国') # 可以覆盖
  1. 不定长参数(函数参数不固定)
*args 默认以元组形式进行参数暂时存储
**kwargs 默认以用字典形式对参数进行缓存
python 复制代码
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}
  1. lambda 表达式
  • lambda 参数列表 : 表达式
python 复制代码
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.面向对象

  1. 万物都可是对象,都可以被实例化.
  • 分析动作是那些实体发出的
  • 实体,添加对应的属性与方法
  • 让对象调用相应的功能与动作
  1. 类的定义
  • class 类名 (object) :
    属性/方法
python 复制代码
class Student(object):  
    def eat(self):  
        print('正在吃东西')  
  
    def sleep(self):  
        print('正在睡觉')  
  
s1 = Student()  
s1.eat()  
s1.sleep()  
  
s2 = Student()  
s2.eat()  
s2.sleep()
  1. self关键字
    指向类实例化的对象本身
Python 复制代码
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>
  1. 属性
    实例化后进行属性的添加
Python 复制代码
  
class person(object):  
        pass  # 没有效果 保证代码完整性  
p1 = person()  
# 设置与获取  
p1.name = 'tom'  
print(p1.name)
  1. _ init _ () | _ call _ () 魔术方法 (类似于构造方法)
python 复制代码
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))   # 用实例化的对象 进行传参
  1. 继承
    只能继承父类中公共方法与属性
python 复制代码
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)
  1. 重写(覆盖)
    子类中与父类方法重名后,子类方法就会覆盖父类方法
Python 复制代码
  
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在重写的方法中,可以强制调用父类方法
python 复制代码
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
    • 无限进步
相关推荐
石榴树下的七彩鱼1 小时前
图片去文字接口,支持去除图片中的文字(附 Python / Java / PHP / JS 示例)
java·python·php·api接口·图片去水印·ai图片修复·图片去文字
zzz_23681 小时前
【Java基础】HashMap——为什么JDK 7扩容会死循环,JDK 8又是怎么修好的
java·开发语言
程序猿乐锅1 小时前
JavaSE 总复习:语法到多线程全梳理
java·开发语言
云器科技1 小时前
云器技术问答 Vol.2:揭秘通用增量计算
java·开发语言
极光代码工作室1 小时前
基于机器学习的新闻分类系统
人工智能·python·深度学习·机器学习
枫叶v.1 小时前
Agent 开发架构:从增强型 LLM 到可运维的自治系统
开发语言·python
.千余3 小时前
【C++】C++ set 与 multiset 完全指南:关联式容器入门
开发语言·c++·笔记·学习·其他
c++之路6 小时前
CMake 系列教程(二):基础命令详解
开发语言·c++
winfredzhang6 小时前
用 MediaPipe 手势数字识别一键打开下载夹里的图片(Python + OpenCV 实战)
人工智能·python·opencv·google·mediapipe