1、在多参数函数,如果只想在多进程任务中依次取一个参数可迭代对象中的每个值,其他参数是固定的,使用偏函数来构建单参数函数。2、不要用lambda函数代替偏函数,否则会报局部函数不能序列化的错误。实例from multiprocessing import Poolfrom tqdm import tqdmimport numpy as npimport mathimport timefrom fun
1、format_map只能在字符串格式使用可变数据参数来自字典等映射关系数据。2、语法str.format_map(mapping)3、参数,mapping字典类型的数据。4、返回格式化的字符串。实例weather = "晴天"hours = 7s = "今天天气是{weather},现在时间是{hours}点整"s.format_map(vars())以上就是python中format_map
1、zip返回的结果以最短的序列为准,zip_longest以最长的序列为准。2、如果zip_logest遇到长度不一致的序列,缺少部分会填充None。实例from itertools import zip_longesta = list(zip('ABC', range(5), [10, 20, 30, 40]))print(a)a = list(zip_longest('ABC', range
1、__dict__是属性,不是方法。2、若使用实例对象调用__dict__,则输出由所有实例属性组成的字典。3、用类对象调用__dict__将输出由所有实例方法、类属性和类方法组成的字典。实例class PoloBlog: sum = 0 def __init__(self, name): self.name = name def test(self):
1、find和rfind查找字符串首次和最后一次出现的位置,如果不存在则返回-1。s = "bird,fish,monkey,rabbit"s.find('fish') #5s.rfind('b') #20s.find('tiger') #-12、index和rindex查找时,不存在则抛出异常。s = "bird,fish,monkey,rabbit"s.index('bird') #0s.ri
1、split()和rspilit()用作指定字符的分隔符,从原字符串的左端和右端分成多个字符串,并返回包含分隔结果的列表。s = "bird,fish,monkey,rabbit"s.split(',') #['bird', 'fish', 'monkey', 'rabbit']s = 'I am a boy's.split() #['I', 'am', 'a', 'boy']s.resplit
1、camel接收字符串形式的变量名,并将其转换为驼峰形式。2、这个函数考虑的是变量形式的字符串,单词之间有相关的分隔,而不是直接连续的单词。比如somefunctionname。实例from re import sub def camel(s): s = sub(r"(_|-)+", " ", s).title().replace(" ", "") return s[0].lower() +
1、将中间标值mid的元素e取到数列中,进行查找元素key的比较。2、如果相等查找成功,若不等,大于则只需在后半部分查找,小于则需在前半部分查找。实例def binary_search(my_list, key): left = 0 right = len(my_list) while left <= right: mid = (right - left) /
1、为了在字符串中插入变量值,可以在前引号前添加字符f,然后将要插入的变量放入花括号中。当Python显示字符串时,每个变量都被它所取代。2、这种字符串被称为f字符串,f是format的简写。实例first_name = "tom"last_name = "jerry"full_name = f"{first_name} {last_name}"print(f"Hello,{full_name.t
空白一般是指任何非打印字符,如空格、制表符和换行符。1、添加制表符,使用字符组合\t 。添加换行符,使用字符组合\n。也可以混合使用,如 \t\n。print("Python\tJava")# output:# Python Java2、删除空白只是临时的,要想“根本上”的改变,就要把这个结果作用回变量本身上。string = " Hello "print(string)print(strin
1、指定第一个元素和最后一个元素的索引。names = ["Jerry", "Tom", "Bob", "Ann"]print(names[0:2]) # 和range方法一样,含头不含尾# output:# ['Jerry', 'Tom']2、仅指定最后一个元素的索引会自动开始。names = ["Jerry", "Tom", "Bob", "Ann"]print(names[:2])# ou
1、不指定开始和结束的索引[:],这样得到的切片就可以包含整个列表,然后给切片一个新的变量,从而实现复制列表。2、创建原始列表的副本,两个列表的操作不会影响。实例names = ["Jerry", "Tom"]names_copy = names[:]names.append("Ann")names_copy.append("Bob")print(f"names:{names}")print(f"
1、每个if语句的核心都是一个值为True或False的表达式,表达式被称为条件测试,也称为布尔表达式。2、Python基于条件测试的值来决定if语句中的代码是否被执行。如果执行True,则执行False。实例print(1 == 2)print('A' == 'A')print(1 != 2)print('A' != 'A')# output:# False# True# True# False
1、一般访问字典中的键值作为索引引用值,但会出现问题。如果访问的键值不在字典中,就会出错。2、可以通过get()访问键值对,当键值对不存在时,将返回默认值,可以指定这个默认值。实例age = { 'Tom': 18, 'Jerry': 12, 'Bob': 23}print(age.get('Ann', 'not found!')) # 指定第二个参数作为返回的默认值print
1、通过调用字典的items返回一个键值对列表,然后使用key和value变量分别接收列表数据中包含的键和值。2、最后通过key和value变量在for循环中逐个访问键值。实例age = { 'Tom': 18, 'Jerry': 12, 'Bob': 23, 'Ann': 31}for key, value in age.items(): print(f"Key:{
1、只保存一个相同且不可变的字符串,不同的值存储在字符串的停留池中。python的停留机制只保留一份相同字符串的副本。2、在后续创建相同的字符串时,不会开辟新的空间,而是将字符串的地址赋予新创建的变量。实例>>> a = '123'>>> b = '123'>>> a is bTrue>>> id(a)313673752318
1、参数key表示键名,如果键存在,将返回键对应的键值,否则将添加新的键值。2、新键的键值由参数default指定,返回值为键名对应的键值,如果没有指定键值,返回值为None。语法dict.setdefault(key, default=None)实例print("向字典中添加数值")scores = {'数学': 95, '英语': 92, '语文': 84, '化学':90 , '生物':91
我们一般做键值的查询,会选择in或not in来操作,本篇还要介绍三种新的查询方法,下面大家一起来看看吧。1、keys()方法用于返回字典中的所有键(key)。2、values()方法用于返回字典中所有键对应的值(value)。3、items()用于返回字典中所有的键值对(key-value)。实例scores = {'数学': 95, '英语': 92, '语文': 84, '化学':90 ,
1、集合类型的底层实现基于哈希表,键的输出顺序,取决于键在哈希表中的存储顺序。2、集合中键的数据类型必须是静态数据类型,如简单数据类型、字符串和元组。集合类型与字典类型相同,是基于哈希表的数据结构。实例# -*- coding: utf-8 -*-"""@Time : 2021/8/15 19:20@Author : LYP@FileName: set_python.py@SoftWare
1、先找到当前目录。2、如果不在当前目录中,Python将在shell变量PYTHONPATH下搜索每个目录。3、如果找不到,Python会查看默认路径。在UNIX下,默认路径一般为/user/local/lib/python/。在system模块的sys.path变量中存储模块搜索路径。变量包括当前目录、PYTHONPATH和由安装过程决定的默认目录。实例import sys print(sys
1、时间戳time.time当前时间。2、time.sleep程序暂停三秒钟。3、time.ctime当前时间。年月日时分秒。4、time.localtime()将时间戳转换成元组。显示当前时间的详细信息。time.mktime将时间元组转换为时间戳。time.strftime()#将元组时间转换为字符串形式。time.strptime()#将字符串转换成元组。实例print(loc)print(
1、random产生0~1之间的随机小数。2、randrange在前两个参数范围内产生一个数字。不包括第二个参数,第三个参数是步长。3、randint在两个参数之间产生一个数字,左右两个参数都可以获得。choice随机选择列表中的元素并返回。shuffle打乱列表中元素的顺序。实例import randomr = random.random() #得到一个0 ~ 1 之间的随机小数print(r
1、协程调度完全在用户空间进行。只能从显式声明的可调度位置调度。在Python中,它被用作生成器迭代器,由生成器迭代器函数返回。2、任何具有yield表达式的普通函数,都将被解释器处理成生成器迭代器函数,执行后返回生成器迭代器。实例def gen(): yield 1 # do sth yield 2 # do sth coro = gen()coro.send(No
1、asyncRun调用可以将协程放入事件队列中,loop是进入事件循环(也可称为调度器)的入口,loop调用将将线程控制权交给协程调度器。2、该调度器将在未来不断地从事件队列中提取协程或普通函数,然后执行和调度它们。在调度和执行过程中,这些事件可能会产生更多的事件,因此它们将继续执行。实例from queue import Queue class __EventQueue: def __
1、用户都可以生成自定义模块进行调用。自定义模块是Python文件,写代码时创建的Python文件相当于一个模块。2、调用的模块应尽可能放在当前Python文件的相同目录中,否则在导入时应声明文件夹可以导入。实例新建1个名为module1的Python文件,代码如下:def fun1(a,b) : #实现a+b并输出结果 print(a+b)相同目录下新建另一个Python文件,调用modu
1、在包里__all__是控制可以导入的模块列表,即声明哪些模块可以导入。2、包里的__all__是在__init__文件中声明的,而不是写在哪个模块中。一个包里有多个模块,其中all声明的模块可以导入,不声明的模块不能导入。实例from demo import * #导入包里面的所有模块hhhh.fun1() #调用hhhh模块的fun1功能,输出“这是功能1”my_module.fun1()
断言声明是一种方便的程序调试方式。1、可将断言视为debug工具,Python的实现也符合这种设计理念。assert语句的执行依赖于__debug__,且默认值为True。2、如果__debug__为True,则仅执行assert语句。实例assert 可以同时声明两个 expression,例如 assert expression1, expression2 等价于if __debug__:
1、实现分类算法的可视化,只需对每一数据的变化进行颜色标记。2、将其作为一帧柱状图象的数据绘制出来,将前一帧的画面清空,循环往复直到最后排好序的画面显示,我们的一次排序算法可视化循环完成。需要一个二维列表(frames),其中的元素就是每一帧数据的列表。还需要将每个数据转换为class,有它自己的值属性和值属性,以及set_color()方法。实例def sort(li): # 这样赋值的
1、用函数说明画笔的起始位置和下次落笔位置。2、定义具体的坐标轴。定义颜色、弧度度数、弧度数、图形大小。3、定义月饼上写的字。4、开始用上面定义的函数画月饼。实例import turtleturtle.pensize(2)def goto(x, y): turtle.penup() turtle.goto(x, y) turtle.pendown() def rad():
1、random.seed()可以给随机数设置种子,使用相同的种子会生成相同的随机值。2、使用两个种子,一个0,一个1。相同体现在随机数与种子的距离,与相同种子距离相同的随机数相同。实例import random random.seed(0)print("Random number 1 : ", random.random())random.seed(1)print("Random number
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号