python番外
#作者:允砸儿
#日期:乙巳青蛇年 三月廿五
在开始数据库的分享之前笔者简单写以下关于python的番外。笔者这块可能写的不是很好csdn上面有很多大佬,笔者仅以自己的思维和想法与大家分享以下。
安装必看
笔者在这里贴一个网址https://www.python.org/downloads/ 直接去官网下载。最好下3.x版本。
在下载一个pycharm,不用下载最新的,最后在去搜一下怎么破解它(这个破解版非常简单直接用到2099年)
pycharm:
python是运行python代码所需要的环境pycharm是代码编辑器--写python代码更方便。
python特点
1、易于学习:python有相对较少的关键字,结构简单。和一个明确定义的语法,学习起来更加简单。
2、易于阅读:python代码定义的更清晰。
3、易于维护:python的成功在于它的源代码是相当容易维护的。
应用领域
web开发、数据科学、人工智能和机器学习、自动化运维和测试、游戏开发、系统运维。
python开发环境
1、注释
单行注释:#开始,到该行末尾结束。
多行注释:以三个引号(单引号或双引号)作为开始和结束符号。
2、变量
变量是用于存储数据的容器,其值可以在程序运行期间被改变。变量通常包括名称和值,名称用于标识变量,值则是变量存储的数据。
#大白话讲变量是存储在盒子里面的东西
3、print()输出
python中最常用的函数,入门语言。python 3.0+版本已经把print作为一个内置函数。
对于大多数程序语言,第一个入门编程代码便是‘hello world’,笔者用以下代码为使用python输出‘hello world’
print(‘hello world’)
4、数据类型
(1)list列表用[]标识,可以修改
列表:t=[‘a’ ‘b’ ‘c’ ‘d’ ‘e’]#里面可以写字符串、数值
索引: 0 1 2 3 4
-5 -4 -3 -2 -1
[1:3]输出[‘b’‘c’]拿1到3
[3:]输出[‘d’‘e’]拿3到后面所有
[:]输出所有
print(t[0])
(2)tuple元组()标识,只能读取
my_tuple=('name','age')
print(my_tuple[0])
(3)dict字典用{}标识,以键值对形式存在
dict={‘name’:‘xiao’ ‘age’:12}
print(dict[‘name’])
5、条件语句
python条件语句是通过一条或多条语句的执行结果(Ture或者False)来决定执行的代码块。
#python这一坨代码块简洁高效,格式什么都要对
语法格式:
它和笔者在php里面写的大差不差,很多语言都是通用的。笔者在下面举个例子:
if...else语句:多条件语句
a=7
if a>3:
print('a>3')
elif a==3:
print('a=3')
else:
print('a<3')
while语句
a=0
while(a<=10):
print(a)
#这是一串死循环代码,朋友可以试一下无线循环0
a=0
while(a<=10):
print(a)
a+=1
#需要在下面加入跳出循环的条件
for循环
for i in '123456':
print("数字是" + i)
for循环根据长度来决定来跳出循环
#fou循环可以迭代对象,这个包括字符串、数组、元组、列表、字典。笔者与前面写的列表结合一下
list=['df','da','dgrf']
for a in list:
print(a)
6、行和缩进
学习 Python 与其他语言最大的区别就是,Python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。#缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。如果不相同会一直报错。
7、python函数
和前面笔者在php里面写的一样。函数是组织好的函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
笔者接下来写一个自定义函数:
自定义函数的基本框架
def 函数名(参数列表):
#函数体
#包含一系列缩进的语句
return返回值#可选,用于返回结果给调用者
调用:
函数名()
a,b,c,d都是形参
好好学习是实参
8、python模块
包含python代码的文件,其扩展名通常为为‘.py’。模块是python程序的基本组成部分,它提供了封装代码的方式,使得代码更加组织化、易于重用和维护、模块可以包含函数、类和变量,也可以包含可执行的代码。
(1)系统内置模块
是python自带的标准库,他们提供了丰富的功能和工具,用于之执行各种常见的任务。这些模块通常与python解释器一起安装,无需额外下载或安装。系统内置模块包括:os模块、sys模块、random模块、time模块。
(2)自定义模块
开发者自己编写的模块,用于封装特定的功能和逻辑。他们通常是为了提高代码的可重用性和模块化程度而创建的。自定义模块可以是任何有效的python文件(以‘.py’为后缀名),里面可以包含全局变量、函数、类等。
笔者简单写一下自带的模块math
自定义函数:
print里面要写实参可以不是int,str也行
关键字 函数 参数 冒号
缩进 关键字 结果
调用:
import加文件名.不能有.py python文件
range() 左闭右开
for ** in *range():
代码
for xx in 可迭代对象
代码
(3)第三方模块:
这是最重要的也是我们要总用的,有很多牛人、大佬写的代码。由其他开发者或组织编写的,并发布到Python包索引等公共仓库中的模块。这些模块通常提供了特定领域或特定任务的高级功能和工具,如数据分析、网络请求等。要使用第三方模块,需要先通过pip等工具安装。
常见模括:Requests模块、Pandas模块、NumPy模块
import requests
安装第三方模块
request:
在黑窗口:pip install requests
pc中如果不可以用py版本过低的我们要升级python.exe -m pip install --upgrade pip
这块很重要因为很多人会报错,笔者在安装的过程中碰到了诸多问题,自己怎样弄也没好,最后笔者的老师帮助我远程操控一下解决了。笔者在这里列一下我遇到的问题:
1、首先必须在python下面scripts安装,安装路径一旦错在pm里面怎么写都是报错。或者在windows关于》高级系统设置》环境变量》找到path将你的python路径添加进去,试一下。
在黑窗口安装的时候输入pip install requests
出现上面的代码就是安装成功了,但是有可能朋友们在运行代码的时候依然会报错因为还需要升下级否则又是报错。
报错也不要着急,咱们继续找问题。输入升级的命令pip install --upgrade
升级过程可能很慢,也有可能报错。遇到这些情况不要慌重新打开重新输入。
成功的话运行代码还有可能出现问题又开始报错:
这回报错提示我们urllib3没有安装成功,到这一步笔者当时已经烦了没完没了阿。
1、有可能你的pip没有升到最高级我们需要强制执行。
python -m pip install --upgrade --force-reinstall pip
2、安装的pip可能与你自己建立为文件在pm中需要复制粘贴一份文件从py转入到pn文件里面试一下。
3、在file》setting》python interpreter里面自动下载urllib3,但是也有可能报错
4、还是报错但没有关系,笔者当时继续排查问题,他说无法找到安装包,那我就手动下载它的安装包,访问 urllib3 PyPI 页面,下载对应版本的 .whl
文件(如 urllib3-2.4.0-py3-none-any.whl
)
5、安装包已经下载好了还没有解决的咱们继续排查问题,我们在黑窗口查询一下python的版本,他在哪里。在查询一下pip的位置在哪里。
6、最后笔者直接更新一下解析器的位置才输出成功:
这上面就是笔者遇到的各种问题,希望这些问题对朋友们有些许帮助。
9、类
笔者在之前的php里面写过。定义对象的结构和行为的抽象表示,而对象则是这些结构和行为的具体实现。通过类和对象,可以实现代码的封装、继承和多态,从而构建出结构化、模块化和可复用的程序。
10、魔术方法
Python中的魔术方法(MagicMethods),也被称为双下划线方法(Dunder Methods)或特殊方法(Special Methods),是一类具有特殊命名规则的方法。
它们的主要作用是为Python中的对象提供内置的、特殊的行为。这些方法的名称前后都带有两个下划线,例如_init-、_str_、_add_等。笔者简单介绍写一下五种魔术方法:
第一种魔术方法:
__int__
def __init__(self,date):
print('初始化对象')
self.date=date
def show_date(self):
print(self.date)
obj=myclass('hello')
第二种魔术方法:
def __del__(self):
print('摧毁对象')
触发机制:
当该类对象被销毁时,自动触发
第三种魔术方法:
__getstate__
触发机制:
在对象被序列化pickle.dump()调用时
第四种魔术方法:
__setstate__
触发机制:
在对象反序列化pickle.load()调用时
第五种魔术方法:
__reduce__
触发机制:
优先于__getstat__调用
接下来会写一下数据库这部分内容也有点多,笔者会分开写进行分享。
最后学习如登山,一步一重天,步步艰辛。唯有不断攀登,才能看到更广阔的天地,冲破现在的牢笼,奔向向往的生活。