Bạn có thể sử dụng phần tái cấu trúc biến giới thiệu để trích xuất các đối số variadic thành một biến lát cắt mới.Introduce Variable refactoring to extract variadic arguments into a new slice variable. Nếu tùy chọn Tùy chọn Tái cấu trúc hộp thoại trong phương thức được chọn trong khu vực tái cấu trúc trên trang chỉnh sửa mã của hộp thoại Cài đặt/Tùy chọn [CTRL+ALT+S], Pycharm sẽ mở hộp thoại biến trích xuất để tái cấu trúc này.In modal dialogs refactoring option is selected in the Refactorings area on the Code Editing page of the Settings/Preferences dialog
[Ctrl+Alt+S], PyCharm opens the Extract Variable dialog for this refactoring. Trong trình soạn thảo, chọn biểu thức sẽ được thay thế bằng một biến. Bạn có thể tự mình làm điều đó hoặc sử dụng tính năng lựa chọn biểu thức thông minh để cho phép Pycharm giúp bạn. Vì vậy, hãy làm một trong những điều sau đây:smart expression selection feature to let PyCharm help you. So, do one of the following: Làm nổi bật biểu thức. Sau đó chọn trên menu chính hoặc trên menu ngữ cảnh. Ngoài ra, nhấn Ctrl+Alt+V. Đặt con trỏ trước hoặc trong biểu thức. Chọn trên menu chính hoặc trên menu ngữ cảnh. hoặc nhấn ctrl+alt+v. Nếu tìm thấy nhiều hơn một lần xuất hiện của biểu thức đã chọn, hãy chọn Thay thế sự xuất hiện này hoặc thay thế tất cả các lần xuất hiện trong menu bật lên nhiều lần xuất hiện. Để chọn tùy chọn cần thiết, chỉ cần nhấp vào nó. Ngoài ra, sử dụng các phím mũi tên lên và xuống để điều hướng đến tùy chọn quan tâm và nhấn Enter để chọn nó.Replace this occurrence only or Replace all occurrences
in the Multiple occurrences found popup menu. To select the required option, just click it. Alternatively, use the Up and Down arrow keys to navigate to the option of interest, and press
Enter to select it. Chỉ định tên của biến. Làm một điều trong số sau đây: Chọn một trong những tên được đề xuất từ danh sách. Để làm điều đó, nhấp đúp vào tên phù hợp. Ngoài ra, sử dụng các phím mũi tên lên và xuống để điều hướng đến tên quan tâm và nhập để chọn nó. Chỉnh sửa tên bằng cách nhập. Tên được hiển thị trong hộp có đường viền màu đỏ và thay đổi khi bạn gõ. Khi hoàn thành, áp lực. Nếu tùy chọn Tùy chọn Tái cấu trúc hộp thoại trong phương thức được chọn trong khu vực tái cấu trúc trên trang chỉnh sửa mã của hộp thoại Cài đặt/Tùy chọn [CTRL+ALT+S], thì việc tái cấu trúc biến được giới thiệu được thực hiện bằng phương tiện của hộp thoại Biến trích xuất.In modal dialogs refactoring option is selected in the Refactorings area on the Code Editing page of the Settings/Preferences dialog
[Ctrl+Alt+S], the Introduce Variable refactoring is performed by means of the
Extract Variable Dialog. Trong trình soạn thảo, chọn biểu thức sẽ được thay thế bằng một biến. Bạn có thể tự mình làm điều đó hoặc sử dụng tính năng lựa chọn biểu thức thông minh để cho phép Pycharm giúp bạn. Vì vậy, hãy làm một trong những điều sau đây:smart expression selection feature to let PyCharm help you. So, do one of the following: Làm nổi bật biểu thức. Sau đó chọn trên menu chính hoặc trên menu ngữ cảnh.Trích xuất một biến tại chỗ
Ngoài ra, nhấn Ctrl+Alt+V.
Đặt con trỏ trước hoặc trong biểu thức. Chọn trên menu chính hoặc trên menu ngữ cảnh. hoặc nhấn ctrl+alt+v.
Nếu tìm thấy nhiều hơn một lần xuất hiện của biểu thức đã chọn, hãy chọn Thay thế sự xuất hiện này hoặc thay thế tất cả các lần xuất hiện trong menu bật lên nhiều lần xuất hiện. Để chọn tùy chọn cần thiết, chỉ cần nhấp vào nó. Ngoài ra, sử dụng các phím mũi tên lên và xuống để điều hướng đến tùy chọn quan tâm và nhấn Enter để chọn nó.Expressions list, select the expression. To do that, click the required expression. Alternatively, use the Up and Down arrow keys to navigate to the expression of interest, and then press Enter to select it.
Chỉ định tên của biến. Làm một điều trong số sau đây:
Chọn một trong những tên được đề xuất từ danh sách. Để làm điều đó, nhấp đúp vào tên phù hợp. Ngoài ra, sử dụng các phím mũi tên lên và xuống để điều hướng đến tên quan tâm và nhập để chọn nó.Name field. You can select one of the suggested names from the list or type the name in the Name box.
Chỉnh sửa tên bằng cách nhập. Tên được hiển thị trong hộp có đường viền màu đỏ và thay đổi khi bạn gõ. Khi hoàn thành, áp lực.Replace all occurrences checkbox.
Nếu tùy chọn Tùy chọn Tái cấu trúc hộp thoại trong phương thức được chọn trong khu vực tái cấu trúc trên trang chỉnh sửa mã của hộp thoại Cài đặt/Tùy chọn [CTRL+ALT+S], thì việc tái cấu trúc biến được giới thiệu được thực hiện bằng phương tiện của hộp thoại Biến trích xuất.OK.
Từ danh sách biểu thức, chọn biểu thức. Để làm điều đó, nhấp vào biểu thức cần thiết. Ngoài ra, sử dụng các phím mũi tên lên và xuống để điều hướng đến biểu thức quan tâm, sau đó nhấn Enter để chọn nó.
13 ví dụ mã Python được tìm thấy liên quan đến "các biến trích xuất". Bạn có thể bỏ phiếu cho những người bạn thích hoặc bỏ phiếu cho những người bạn không thích và đi đến dự án gốc hoặc tệp nguồn bằng cách theo các liên kết trên mỗi ví dụ. extract variables". You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
ví dụ 1
def extract_source_variables[variables, varname, smvariables]: '''Support function to extract the "atomic" variables used in a variable that is of instance `Subexpression`. ''' identifiers = get_identifiers[variables[varname].expr] for vnm, var in iteritems[variables]: if vnm in identifiers: if var in defaultclock.variables.values[]: raise NotImplementedError['Recording an expression that depends on ' 'the time t or the timestep dt is ' 'currently not supported in Brian2GeNN'] elif isinstance[var, ArrayVariable]: smvariables.append[vnm] elif isinstance[var, Subexpression]: smvariables = extract_source_variables[variables, vnm, smvariables] return smvariables
Ví dụ 2
def extract_shared_variables[variables_1, variables_2]: """Separates shared variables from the given collections. Args: variables_1: An iterable of Variables variables_2: An iterable of Variables Returns: A Tuple of ObjectIdentitySets described by the set operations ``` [variables_1 - variables_2, variables_2 - variables_1, variables_1 & variables_2] ``` """ var_refs1 = object_identity.ObjectIdentitySet[variables_1] var_refs2 = object_identity.ObjectIdentitySet[variables_2] shared_vars = var_refs1.intersection[var_refs2] return [var_refs1.difference[shared_vars], var_refs2.difference[shared_vars], shared_vars]
Ví dụ 3
def extract_variables[content: Any] -> Set: """ extract all variables in content recursively. """ if isinstance[content, [list, set, tuple]]: variables = set[] for item in content: variables = variables | extract_variables[item] return variables elif isinstance[content, dict]: variables = set[] for key, value in content.items[]: variables = variables | extract_variables[value] return variables elif isinstance[content, str]: return set[regex_findall_variables[content]] return set[]
Ví dụ 4
def extract_files_containing_late_variables[start_files]: found_files = [] left_files = [] for file_info in deepcopy[start_files]: assert not any[_late_bind_placeholder_in[v] for k, v in file_info.items[] if k != 'content'], [ 'File info must not contain late config placeholder in fields other than content: {}'.format[file_info] ] if file_info['content'] and _late_bind_placeholder_in[file_info['content']]: found_files.append[file_info] else: left_files.append[file_info] # All files still belong somewhere assert len[found_files] + len[left_files] == len[start_files] return found_files, left_files # Validate all arguments passed in actually correspond to parameters to # prevent human typo errors. # This includes all possible sub scopes [Including config for things you don't use is fine].
Ví dụ 5
def extract_variables[log_format]: """ Extract all variables from a log format string. :param log_format: format string to extract :return: iterator over all variables in given format string """ if log_format == 'combined': log_format = LOG_FORMAT_COMBINED for match in re.findall[REGEX_LOG_FORMAT_VARIABLE, log_format]: yield match
Ví dụ 6
def extract_flake8_variables_names[] -> Dict[str, str]: from flake8_variables_names import checker content = Path[checker.__file__].read_text[] return get_messages[code='VNE', content=content]
Ví dụ 7
def extract_variables[exp]: if type[exp] == int: return set[] if opcode[exp] in [ "var", "mem", "cd", "storage", "call.data", "sha3", "calldatasize", ] or is_array[opcode[exp]]: return set[[exp]] if type[exp] == str and exp in [ "x", "y", "z", "sth", "unknown", "undefined", "callvalue", "number", "timestamp", "address", ]: return set[[exp]] if type[exp] == str and exp != "data" and "data" in exp: return set[[exp]] if type[exp] != tuple: return set[[exp]] res = set[] for e in exp[1:]: res = res.union[extract_variables[e]] return res
Ví dụ 8
def extract_variables_from_header[self, file_header]: header_data = json.loads[file_header, object_pairs_hook=OrderedDict] flat_names = header_data[self.flat_names_tag] var_shapes = OrderedDict[] for k, v in header_data[self.var_shape_tag].items[]: var_shapes[k] = tuple[v] var_dtypes = header_data[self.var_dtypes_tag] varnames = list[flat_names.keys[]] return flat_names, var_shapes, var_dtypes, varnames
Ví dụ 9
def extract_variables[self] -> dict: variables = self.window.extract_variables[] variables["package"] = core.current_package[] project = variables.get['project_path'] if project: variables['workspaceFolder'] = project return variables
Ví dụ 10
def extract_variables_from_df[dataframe]: """ Extract random variables and their shapes from the pymc3-pandas data-frame Parameters ---------- dataframe : :class:`pandas.DataFrame` Returns ------- flat_names : dict with variable-names and respective flat-name indexes to data-frame var_shapes : dict with variable names and shapes """ all_df_indexes = [str[flatvar] for flatvar in dataframe.columns] varnames = list[set[[index.split['__'][0] for index in all_df_indexes]]] flat_names = OrderedDict[] var_shapes = OrderedDict[] for varname in varnames: indexes = [] for index in all_df_indexes: if index.split['__'][0] == varname: indexes.append[index] flat_names[varname] = indexes var_shapes[varname] = ttab._create_shape[indexes] return flat_names, var_shapes
Ví dụ 11
def extract_shared_variables[variables_1, variables_2]: """Separates shared variables from the given collections. Args: variables_1: An iterable of Variables variables_2: An iterable of Variables Returns: A Tuple of ObjectIdentitySets described by the set operations ``` [variables_1 - variables_2, variables_2 - variables_1, variables_1 & variables_2] ``` """ var_refs1 = object_identity.ObjectIdentitySet[variables_1] var_refs2 = object_identity.ObjectIdentitySet[variables_2] shared_vars = var_refs1.intersection[var_refs2] return [var_refs1.difference[shared_vars], var_refs2.difference[shared_vars], shared_vars]0
Ví dụ 12
def extract_shared_variables[variables_1, variables_2]: """Separates shared variables from the given collections. Args: variables_1: An iterable of Variables variables_2: An iterable of Variables Returns: A Tuple of ObjectIdentitySets described by the set operations ``` [variables_1 - variables_2, variables_2 - variables_1, variables_1 & variables_2] ``` """ var_refs1 = object_identity.ObjectIdentitySet[variables_1] var_refs2 = object_identity.ObjectIdentitySet[variables_2] shared_vars = var_refs1.intersection[var_refs2] return [var_refs1.difference[shared_vars], var_refs2.difference[shared_vars], shared_vars]1
Ví dụ 13
def extract_shared_variables[variables_1, variables_2]: """Separates shared variables from the given collections. Args: variables_1: An iterable of Variables variables_2: An iterable of Variables Returns: A Tuple of ObjectIdentitySets described by the set operations ``` [variables_1 - variables_2, variables_2 - variables_1, variables_1 & variables_2] ``` """ var_refs1 = object_identity.ObjectIdentitySet[variables_1] var_refs2 = object_identity.ObjectIdentitySet[variables_2] shared_vars = var_refs1.intersection[var_refs2] return [var_refs1.difference[shared_vars], var_refs2.difference[shared_vars], shared_vars]2