我正在阅读使用Python的人工智能并在完成一个示例时,我决定根据本书中使用的一种方法检查sklearn包文档。在查看文档时,我注意到import java.util.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class User{
int rank;
String name;
String pass;
//Added boolean up here
boolean validUser;
User(){
Scanner s = new Scanner(System.in);
System.out.println(" Login\n1.New user\n2.Old user");
int in = s.nextInt();
//Make sure it is set to false
validUser = false;
while(!validUser){
if(in == 1){
//create new user
}else if(in == 2){
JFrame loginFrame = new JFrame();
loginFrame.setVisible(true);
loginFrame.setLayout(null);
loginFrame.setSize(120+14,180+35);
JLabel enterName = new JLabel("Enter Username:");
enterName.setBounds(10,10,100,20);
JTextField nameField = new JTextField();
nameField.setBounds(120,10,130,20);
JLabel enterPass = new JLabel("Enter Password:");
enterPass.setBounds(10,40,100,20);
JPasswordField passField = new JPasswordField();
passField.setBounds(120,40,130,20);
JButton hitEnter = new JButton("Login");
hitEnter.setBounds(10,70,250,20);
loginFrame.add(enterName);
loginFrame.add(nameField);
loginFrame.add(enterPass);
loginFrame.add(passField);
loginFrame.add(hitEnter);
loginFrame.setSize(270+14,100+36);
hitEnter.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent enter){
name = nameField.getText();
pass = new String(passField.getText());
validUser = checkUser(filename,name,pass);
if(validUser){
loginFrame.setVisible(false);
//some how break the for loop from here
}
}
});
}else{
System.out.println("Invalid input.");
}
}
}
方法有两个参数,即阈值和副本。该文档显示以下内容:sklearn.preprocessing.Binarizer
然而,在本书的例子中,我们只使用了阈值参数而不是使用的复制参数:
class sklearn.preprocessing.Binarizer(threshold=0.0, copy=True)
一旦我完成了本书,我想知道如何浏览文档,那么有人知道sklearn或scikit文档中不需要的参数的符号吗?
提前谢谢。
答案 0 :(得分:2)
在Python中,如果函数定义为参数指定了值,则该值将作为默认值。指定新值将覆盖默认值。但是,可以在不覆盖任何默认值的情况下调用该函数。
例如,如果我定义以下函数:
def add_numbers(param_one=1, param_two=2):
return param_one + param_two
然后,我可以做以下事情:
>>> add_numbers()
3
>>> add_numbers(param_one=2)
4
>>> add_numbers(param_two=1)
2
>>> add_numbers(param_one=2, param_two=3)
5
在你的情况下,你的预处理函数调用.Binarizer(threshold = 2.1)相当于preprocessing.Binarizer(threshold = 2.1,copy = True)。
注意:您还可以为一个或所有参数定义一个没有默认值的函数。在这种情况下,如果不指定参数值,则无法调用该函数。
实施例。
def add_numbers(param_one, param_two=2):
return param_one + param_two
>>> add_numbers()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: add_numbers() takes at least 1 argument (0 given)