首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「函数参数详解」——了解Python函数参数的不同用法

    函数参数详解 一、缺省参数 调用函数时,缺省参数的值如果没有传入,则取默认值。..."miki") 以上实例输出结果: name: miki age: 35 name: miki age: 9 总结: 在形参中默认有值的参数,称之为缺省参数 注意:带有默认值的参数一定要位于参数列表的最后面...有时可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数,声明时不会命名。...[expression] 注意: 加了星号(*)的变量args会存放所有未命名的变量参数,args为元组 而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典.... def test(a, b, *args, **kwargs): "函数在声明时,需要两个参数" print('a={},b={},args={},kwargs={}'.format

    46410

    J Comput Chem|应用于多参数优化的基于配体的从头设计深度生成模型

    药物发现是一个多参数优化的过程。...2022年2月26日,J Comput Chem杂志发表了来自知名AI药物发现公司Iktos的Yann Gaston-Mathé等人的一项早期的工作,展示了如何用深度学习实现药物分子的多参数优化。...摘要 多参数优化是药物发现中的一个主要挑战。最近,有报道称深度学习生成模型应用于从头分子设计取得了可喜的成果,但据我们所知,直到现在还没有这种新技术在实际药物发现项目中解决多参数优化问题的报道。...为了解决多参数优化 (Multi-parameter optimization, MPO) 的挑战,需要探索几乎无限的化学空间 (1060个类药分子)。...这项研究是在2017年进行的,使用了一个在ChEMBL上训练的长短时记忆 (LSTM) 神经网络,使用teacher forcing的多指标奖励函数。

    90710

    Objective-C中编写省略参数的多参函数

    Objective-C中编写省略参数的多参数函数 引语: 在Object-C中,我们会遇到很多像NSLog这样的函数,其中参数的个数不确定,由程序员自由控制,在初始化数组,字典等方面应用广泛,那么,这类的函数是如何实现的呢...我们怎么编写我们自己的省略参数的函数呢?当然,这不是唯一的多参函数的处理方法,你也可以通过一个字典或者数组传递参数。但C为我们提供的这样的一种机制,无疑是最方便的。...va_end(ap) 这个宏用于关闭取参列表 二、多参函数的取参原理 在编写我们自己的多参函数之前,明白函数的取参原理是十分重要的,首先,函数的参数是被放入我们内存的栈段的,而且放入的顺序是从后往前放入...而上面介绍的几个宏,就是帮助我们做这些的。 三、声明与实现省略参数的多参函数 "..."这个符号就是我们用来实现省略参数函数的符号。...",@"321", nil];//必须有nil 四、一点补充 细心的你可能发现了,这里的nil是我们在调用函数时手动加上的,可是系统的许多函数在我们调用时,系统直接帮我们加上了参数结尾的那个nil,例如

    1.4K10

    Go 函数的 Map 型参数,会发生扩容后指向不同底层内存的事儿吗?

    最近跟同事做项目,由于要在函数里向一个 Map 中写入不少数据,这个 Map 是作为参数传到函数里的。...他问了我一个问题: “如果把 Map 作为函数参数传递,会不会像用 Slice 做参数时一样诡异,是不是一定要把 Map 当成返回值返回才能让函数外部的 Map 变量看到这里添加的数据”?...同事没有明说,其实我已经猜到他说的是什么意思了,说的应该是 Slice 的底层数组如果发生了扩容后会让函数内外原本指向同一个底层数组的两个 Slice 变量,分别指向两个不同的底层数组。...既然是一个 Map 类型的变量实际上是一个指针变量,这跟 Slice 就完全不同了,虽然指针作为函数参数时在 Go 里面也是按照值传递的,但是内外两个指针是指向的同一个 hamp 结构所在的内存,hmap...所以当 Map 由于函数内的操作发生扩容时,不会像上面例子里的 Slice 指向不同底层数组的诡异现象。

    1.1K20

    手把手教你用R语言读取CSV文件

    第二个参数header,表示数据的第一行,即列名。第三个参数sed,表示数据的分隔符。可以设为“\t”(tab分隔符)或者“;”(分号分隔符),以读取不同类型的文件。...read.table函数还有许多参数,最常用的是quote和colClasses参数,分别设置字符的包围符和每列的数据类型。...readr包中的所有数据提取函数返回的是tibble,该数据类型是data.frame的扩展。最明显的变化是打印的元数据,比如行列数和每列的数据类型。...02 fread函数 另一个读取大量数据的函数是data.table包的fread函数。第一个参数是读取的文件路径或者URL。header参数表示文件的第一行是列名,sep指定分隔符。...该函数读取速度比read.table函数快,结果为data.table对象。data.table对象是data.frame的扩展,其是data.frame的优化。

    23.3K21

    Matt Dowle 演讲节选(二)

    )] 这就相当于默认开启了data.frame的with参数。...这里的关键在于,在第一种方法中,每为新的一行赋值,data.table就要重新复制一遍DT,也就是说,第一种方法的运行过程中,DF被复制了1000遍!...(大猫:在最新版本的 R 中,这个问题已经明显缓解,但是这时已经过去了5年多)而在data.table中,一切都是那么自然: > DF[, colToDelete := NULL] 哪怕你的数据集有...2014:data.table的现在 fread函数 在演讲的最后(演讲在2014年),Matt 提到了当时他正在给data.table添加的新功能:fast read,也即fread函数。...True,时间是缩短不少,但那意味着许多枯燥的输入。假设你有100列,难道你要每列的class都指定一遍? 这时你就需要fread("test.csv")!不需要输入任何其他的参数,你猜要运行多久?

    1.4K40

    能不能让R按行处理数据?

    首先,假设我有一个这样的数据集(暂且命名为t1): ? 现在我想做的是对于每一行,找出非NA的值,填充到“mean.scale”这个新的变量;如果有多个非NA,那么就计算其平均值。...(fund_name)] 其中的关键在于拼接函数c(),它将不同列的向量拼接成了一列。另外,这个操作是不是有点熟悉?...对,这个步骤和cast和melt函数的作用类似,只不过这里直接用了data.table自己的语句。...我们只要把数据按照fund_name分组,然后对每组求scale的均值。唯一需要注意的有两点。首先,别忘了mean中的na.rm = T参数,它能够让函数忽略缺失值。...R的数据处理哲学是向量,是列,但这并不妨碍我们按照行进行处理,其中的关键,就在于运用 c() 函数把不同的向量拼接成一个向量。 我是大猫,咱们下期见! 附:Stackoverflow的原始问题 ?

    1.7K20

    R语言数据分析利器data.table包 —— 数据框结构处理精讲

    包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理的步骤进行了程序上的优化,使用多线程,甚至很多函数是使用C写的,大大加快数据运行速度。...data.table常用的函数 as.data.table(x, keep.rownames=FALSE, ...) ...(x, v)] #取DT的x,v列上x="b",v=3的行 j 对数据框进行求值输出   j 参数对数据进行运算,比如sum,max,min,tail等基本函数,输出基本函数的计算结果,还可以用n输出第...(y=max(y)), lapply(.SD, min)), by=x, .SDcols=y:v] #对DT取y:v之间的列,按x分组,输出max(y),对y到v之间的列每列求最小值输出。...roll 当i中全部行匹配只有某一行不匹配时,填充该行空白,+Inf(或者TRUE)用上一行的值填充,-Inf用下一行的值填充,输入某数字时,表示能够填充的距离,near用最近的行填充 rollends

    7.5K20

    R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

    data.table包的语法简洁,并且只需一行代码就可以完成很多事情。进一步地,data.table在某些情况下执行效率更高。...R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table) 同时,data.table与data.frame数据呈现方面,还有有所不同的。...%>%的功能是用于实现将一个函数的输出传递给下一个函数的第一个参数。注意这里的,传递给下一个函数的第一个参数,然后就不用写第一个参数了。在dplyr分组求和的过程中,还是挺有用的。...—————————————————————————————————————————————— 六、额外的参数(来源:R语言data.table速查手册) 1、mult参数 mult参数是用来控制i匹配到的哪一行的返回结果默认情况下会返回该分组的所有元素...返回匹配到键值所在列(V2列)所有行中的第一行 > DT["A", mult ="first"] V1 V2 V3 V4 1: 1 A -1.1727 1 2、nomatch参数——未匹配样本处理

    11.1K43

    导出Seurat对象中的单细胞表达矩阵

    包,删掉下面一行#,然后运行 #install.packages("devtools") #安装SeuratData包,删掉下面一行#,然后运行 #devtools::install_github('...原始的单细胞表达矩阵保存在pbmc[["RNA"]]@counts中,每一行是一个基因,每一列是一个细胞,如果counts数是0,就用一个.来表示。...方法一、使用data.table包里的fwrite函数 这里用到了我们前面提到过的☞【R语言】data.table让你的读取速度提升百倍 #方法一、使用data.table包里的fwrite函数 #install.packages...RNA"]]@counts), row.names=T,file = "counts.csv")}) 导出所用的时间如下 方法二、使用普通的write.csv函数 #方法二、使用普通的write.csv...参考资料: 【R语言】data.table让你的读取速度提升百倍

    16.3K20

    一个类如何实现两个接口中同名同参数不同返回值的函数

    IA {     string GetA(string a); } public interface IB {     int GetA(string a); } 他们都要求实现方法GetA,而且传入的参数都是一样的...String类型,只是返回值一个是String一个是Int,现在我们要声明一个类X,这个类要同时实现这两个接口: public class X:IA,IB 由于接口中要求的方法的方法名和参数是一样的...解决办法是把其中的不能重载的方法直接写成接口的方法,同时要注意这个方法只能由接口调用,不能声明为Public类型的.所以X的定义如下: public class X:IA,IB {     public...IB.GetA(string a)//实现IB接口     {         Console.WriteLine("IB.GetA");         return 12;     } } 同样如果有更多的同名同参不同返回值的接口...,也可以通过"接口名.函数名"的形式实现.

    4.1K20

    生信马拉松 Day5

    摸不着头脑时可以考虑重启R studio解决(2)找不同比较能正确运行的数据和出错的数据,可能出现的情况有:异常值INF,重复值、非法输入、数据类型、数据结构(3)搜报错复制error信息,浏览器搜索(...txtread.delim() #读取txt的一个替代函数失败有两种表现:1.报错 2.意外的结果直接读取如果失败,就需要指定一些参数,常见的参数有header=T(设置第一行为列名),check.names...一个比较好用的函数,所以一般不加载这个包soft = data.table::fread("soft.txt")class(soft)#[1] "data.table" "data.frame"#data.table...是作者大神自创的数据类型#一般用不到,所以就用data.table默认参数FALSE掉soft = data.table::fread("soft.txt",data.table = F)class(soft...)#[1] "data.frame"#包2:rio#支持非常多种数据的导入,只要数据实际内容和后缀相同,就能一键导入library(rio)#读取soft = import("soft.txt")#读取多工作簿的

    46300

    R语言入门之数据的导入和导出

    当然对于一些基因组文件或者其它格式的文件,各自有各自的特点,原则上R语言可以读取任何格式的文件,只需掌握基本的读取文件方法后按照不同特点调整参数即可。 1....‘来分隔 #第一个参数是读入的文件(由文件所在路径及其文件名构成) #第二个参数是指定是否将第一行作为列名,TRUE表示第一行即为列名 #第三个参数是指定分隔符 #第四个是指定行名所在的列,指定列名为“...直接高效读取以.gz结尾的压缩文件 一般在R中可以使用gzfile()的方式读取压缩文件,但如果使用data.table包里的fread()函数则可以大大提高工作效率。...具体方法如下: #安装并加载data.table包 #使用fread()函数读取文件,这里参数和之前的一致 #唯一的不同就是fread()可以直接读取压缩文件 install.packages(‘data.table...导出数据为csv文件 #第一个参数是需要导出的数据名称 #第二个参数是导出后新文件的名称 #第三个参数是指文件的分隔符 #导出数据和导入数据的参数类似,只是所使用的函数不同 write.table(mydata

    4K40

    R语言学习笔记之——数据处理神器data.table

    说了这么多,绕了这么大的弯子想干啥呢,没错今天又要给自己升级新技能啦,这次的主角儿是 data.table 一个R语言高性能数据处理包,一个包可以涵盖以上所说的数据处理的大部分内容,而且操作高度抽象化话...data.table 1、I/O性能: data.table的被推崇的重要原因就是他的IO吞吐性能在R语言诸多包中首屈一指,这里以一个1.6G多的2015年纽约自行车出行数据集为例来检验其性能到底如何,...data.table列索引 列索引与数据框相比操作体验差异比较大,data.table的列索引摒弃了data.frame时代的向量化参数,而使用list参数进行列索引。...当整列和聚合的单值同时输出时,可以支持自动补齐操作。 当聚合函数与data.table中的分组参数一起使用时,data.table的真正威力才逐渐显露。 mydata[,....SD, mean)则将各个子块的对应列应用于均值运算,并返回最终的列表。

    4.3K80

    从零开始的异世界生信学习 R语言部分 04 文件的读写与认知

    T) #通常读取txt格式文件,header参数表示将文件的第一行作为列名,默认为F 图片 图片 读取csv文件 #2.读取ex2.csv ex2 <- read.csv("ex2.csv") 图片...") load("xerror.csv") 图片 将一个项目的不同结果数据存在不同的文件夹 图片 将一个项目的不同部分分别存在不同的文件夹 图片 图片 图片 # data.table包中的fread函数...soft = data.table::fread("soft.txt",data.table = F) #读取速度更快,参数较少,可以直接读取问题文件 # rio包,包括import以及export...文件的excel文件导入成列表模式 a = import("abc.mp4",format = "\t") #加上format=参数可以打开问题文件,读取xlsx文件的优秀函数 b = import_list...("jimmy.xlsx") b$Sheet1 export(b,"jimmyzhenbang.xlsx") #导出后也为多列表的xlsx文件 export(b$Sheet1,"jimmyzhenbang.csv

    1.7K40

    Day4-5 R语言代码

    一、读取文件 1、读取文件小tips: (1)read.table()和read.csv()两者之间没有不可逾越的鸿沟,只是方便读取某一类文件类型;报错就需要添加对应的参数。...2、读取各种类型文件 (1)TXT文件,建议使用read.delim()函数,因为它的一些默认参数比read.table()适用范围更广; (2)csv文件 1)“check.names = F”...row.name参数添加进来,处理A列的重复值(去重复、两行取平均值合并为一行),再设置为行名。...3)一定要要经常查看自己的数据是否读取正确; (3)xlsx文件,建议使用rio包里面的函数 library(rio) #读取 ex1 = import("ex1.txt") #读取多工作簿的excel...,在读取过程中不需要添加过多参数,而且读取大文件速度快,不过读取的数据会被默认为"data.table"格式,需要添加参数"data.table=F"来避免 #data.table ex1 = data.table

    60420
    领券