Maison > Article > développement back-end > Introduction connexe aux modules Python
Qu'est-ce qu'un module ?
Recommandations associées : "vidéo python"
En cours de développement de programmes informatiques , à mesure que de plus en plus de code de programme est écrit, le code d'un fichier deviendra de plus en plus long et il deviendra de moins en moins facile à maintenir. Afin d'écrire du code maintenable, nous regroupons de nombreuses fonctions et les mettons dans différents fichiers. De cette façon, chaque fichier contient relativement moins de code. De nombreux langages de programmation adoptent cette façon d'organiser le code. En python, un fichier .py est un module
Utiliser les modules ?
1. Le plus grand avantage est que cela améliore considérablement la maintenabilité du code. Deuxièmement, vous n'avez pas besoin de repartir de zéro lors de l'écriture du code, il peut être référencé. par d'autres modules.Nous sommes Lors de l'écriture de programmes, nous faisons souvent référence à d'autres modules, y compris des modules intégrés à Python et des modules tiers
2. L'utilisation de modules peut éviter les conflits entre les noms de fonctions et les variables. , donc le même nom Les fonctions et les variables peuvent être dans des modules différents, donc lorsque nous écrivons le module nous-mêmes, nous n'avons pas à considérer le conflit de nom avec d'autres modules
Classification des modules
Les modules sont divisés en 3 catégories : 1. Module standard intégré, également appelé : bibliothèque standard, exécutez (help'modules') pour afficher la liste de tous les python construits. -dans les modules ;2. Les modules open source tiers peuvent être installés en ligne via le nom du module d'installation pip
3. 🎜>
import modulefrom module import xxfrom module.xx.xx import xx as rename from module.xx.xx import *
module time
time.localtime([secs) ]) : Convertir un horodatage en Si les paramètres struct_time et secs du fuseau horaire actuel ne sont pas fournis, l'heure actuelle prévaudra
time.gmtime([secs]) : similaire à la méthode localtime() ; , la méthode gmtime() convertit un horodatage en struct_time pour le fuseau horaire UTC (fuseau horaire 0). time.time() : renvoie l'horodatage de l'heure actuelle
time.mktime() : convertit un struct_time en horodatage
time.sleep(secs) : Le thread retarde son exécution pendant la durée spécifiée, en secondes
tiem.asctime([t]) : représente un tuple temporel ou struct_time sous cette forme : dim. 1 octobre 12:04:38 2017, si sans paramètres, time.localtime() sera passé en paramètre ;
time.ctime([secs]) : Convertit un horodatage (secondes) sous la forme de time.asctime(), si le paramètre n'est pas donné. , ou est None, time.time() sera utilisé comme paramètre par défaut. Sa fonction est équivalente à time.asctime(time.localtime(secs))
time.strftime(format[,t ] ) : Convertissez un tuple ou struct_time représentant l'heure (comme celui renvoyé par time.localtime() et time.gmtime()) en une chaîne d'heure formatée Si t n'est pas spécifié, time.localtime sera transmis dans ()
. module datetimePar rapport au module time, le module datetime a une interface intuitive et est plus facile à appeler
le module datetime définit les classes suivantes :datetime.date : Une classe qui représente la date. Les attributs couramment utilisés sont : année, mois, daydatetime.time : Une classe qui représente l'heure, les attributs couramment utilisés sont : heure, minute, seconde, microseconde. datetime.datetime : représente la date et. time.
datetime.timedelta : représente l'intervalle de temps, c'est-à-dire la durée entre deux points dans le temps
datetime.tzinfo Informations connexes liées aux fuseaux horaires
Ce que nous devez vous rappeler :
1.d=datetime.datetime.now() renvoie le type de date datetime actuel
import datetime d=datetime.datetime。now() print(d) print(d.year) print(d.today()) print(d.timestamp()) print(d.timetuple())
et d'autres méthodes peuvent appeler
2.datetime.formtimestamp(322222) pour convertir un horodatage Il s'agit du type datetime ;datetime.date.fromtimestamp(time.time())3. Opération temporelle :
datetime.datetime.now()+datetime.timedelta(4)#当前时间+4天 datetime.datetime.now()+datetimetimedelta(hours=4)#当前时间+4小时4. Remplacement de l'heure
d=datetime.datetime.now() d.replace(year=2999,month=11,day=30) datetime.date(2999,11,30)
<.>
Il existe de nombreux endroits dans le programme où des caractères aléatoires doivent être utilisés, tels que le code de vérification pour se connecter au site Web. Des chaînes aléatoires peuvent être facilement générées via le module aléatoire random.randrange. (1,10)# renvoie 1-10 Un nombre aléatoire entre 10random.randint(1,10)#Renvoie un nombre aléatoire entre 1-10, y compris 10random.randrange(0,100,2)#Sélectionne aléatoirement un nombre pair aléatoire entre 0 et 100. random()#Renvoie un nombre aléatoire à virgule flottante random.choice('abc#$@1')#Renvoie un caractère aléatoire dans un ensemble de données donné random.sample('abcdefghij',3)#Sélectionner parmi plusieurs chaînes Un nombre spécifique de caractères#Générer une chaîne aléatoireimport string''.json(random.sample(string.ascii_lowercase+string.digits,6))#Shuffle
a=[ 0 ,1,2,3,4,5,6,7,8,9]random.shuffle(a)print(a)
module sys
1.sys.argv
python3 test.py run web
执行结果:
['test.py','run','web']
这个意思就是有的脚本后边可以跟参数,如果跟run我们就执行run,如果跟web 我们就执行web
2.sys.exit(n)退出程序,正常退出
3.sys.version 获取当前解释器的版本
4.sys.maxint 最大的Int值
5.sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
6.sys.platform 返回操作平台的名称
7.sys.getrecursionlimit()获取递归的最大层数
8.sys.setrecursionlimit(1200) 设置最大递归层数
9.sys.getdefaultencoding() 获取解释器默认编码
10.sys.getfilesystemencoding 获取内存数据存到文件里的默认编码
shutil模块
高级的文件,文件夹,压缩包处理模块
shelve模块
json和pickle只能dump,load一次,假如我确实有好几种数据需要序列化,如果只能dump一次的话,这就意味着我自己要dump好几个文件,这个时候就感觉很low,难道没有办法允许我dump好几次吗?
shelve他是对pickle的封装,允许你dump多次,load多次,并且不会顺序乱,因为他是一种key-value的形式;(这个下去自己研究,这里不在多说了,因为它主要是对pickle封装的)shutil.copyfileobj(fsrc,fdst[,llength])将文件内容拷贝到另一个文件中,可以部分内容。
hashlib模块
Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值.也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。
MD5
输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);不同的输入得到的不同的结果(唯一性);MD5算法的特点
1.压缩性:任意长度的数据,算出的MD5值的长度都是固定的
2.容易计算:从原数据计算出MD5值很容易
3.抗修改性:对原数据进行任何改动,修改一个字节生成的MD5值区别也会很大
4.强抗碰撞:已知原数据和MD5,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!