Python lấy tên hàm hiện tại

Thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 của phiên bản
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
4 cho biết tên của hàm như được chỉ định khi nó được tạo hoặc có thể là
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
5 hoặc
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
6 [một chuỗi trống] đối với các hàm được tạo ẩn danh

Một chuỗi

Thuộc tính thuộc tính của
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
7WritablenoEnumerablenoConfigurableyes

Ghi chú. Trong các triển khai không chuẩn, trước ES2015, thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
8 cũng là
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
9

Thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 của hàm có thể được sử dụng để xác định hàm trong các công cụ gỡ lỗi hoặc thông báo lỗi. Nó không có ý nghĩa ngữ nghĩa đối với chính ngôn ngữ đó

Thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 chỉ đọc và không thể thay đổi bởi toán tử gán

function someFunction[] {}

someFunction.name = 'otherFunction';
console.log[someFunction.name]; // someFunction

Để thay đổi nó, hãy sử dụng

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
02

Thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 thường được suy ra từ cách xác định hàm. Trong các phần tiếp theo, chúng tôi sẽ mô tả các cách khác nhau để suy ra

Thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 trả về tên của một khai báo hàm

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3

Khai báo

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
05 xuất hàm dưới dạng khai báo thay vì biểu thức. Nếu khai báo là ẩn danh, tên là
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
06

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"

Các hàm được tạo bằng hàm tạo

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
07 có tên "anonymous"

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
0

Nếu biểu thức hàm được đặt tên, tên đó được sử dụng làm thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
0

Các biểu thức hàm ẩn danh được tạo bằng từ khóa

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
09 hoặc các hàm mũi tên sẽ có tên là
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
00 [một chuỗi trống]

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3

Tuy nhiên, những trường hợp như vậy rất hiếm — thông thường, để tham chiếu đến biểu thức ở nơi khác, biểu thức hàm được gắn với một mã định danh khi nó được tạo [chẳng hạn như trong một khai báo biến]. Trong những trường hợp như vậy, tên có thể được suy ra, như một vài phần phụ sau đây chứng minh

Một trường hợp thực tế không thể suy ra tên là một hàm được trả về từ một hàm khác

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
4

Các biến và phương thức có thể suy ra tên của một hàm ẩn danh từ vị trí cú pháp của nó

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
5

Điều tương tự áp dụng cho nhiệm vụ

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
6

Các hàm trong bộ khởi tạo [giá trị mặc định] của , tham số mặc định, trường lớp, v.v. , sẽ kế thừa tên của định danh bị ràng buộc là

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 của chúng

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
8

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
30

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
02 tạo ra một hàm có tên là "bị ràng buộc" cộng với tên hàm

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
31

Khi sử dụng thuộc tính trình truy cập

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
03 và
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
04, "get" hoặc "set" sẽ xuất hiện trong tên hàm

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
32

Tên của một lớp tuân theo thuật toán giống như khai báo hàm và biểu thức

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
33

Cảnh báo. JavaScript sẽ chỉ đặt thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 của hàm nếu một hàm không có thuộc tính riêng gọi là
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3. Tuy nhiên, các thành viên tĩnh của lớp sẽ được đặt làm thuộc tính riêng của hàm tạo lớp và do đó ngăn không cho áp dụng
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 tích hợp. Xem bên dưới

Nếu một

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
08 được sử dụng tên hàm và ký hiệu có phần mô tả, thì tên của phương thức là phần mô tả trong ngoặc vuông

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
34

Các trường riêng tư và phương thức riêng tư có hàm băm [

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
09] như một phần tên của chúng

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
35

Bạn có thể sử dụng

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
30 để kiểm tra "lớp" của một đối tượng

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
36

Tuy nhiên, vì các thành viên tĩnh sẽ trở thành thuộc tính riêng của lớp, nên chúng ta không thể lấy tên lớp cho hầu như bất kỳ lớp nào có thuộc tính phương thức tĩnh

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
31

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
37

Với phương thức

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
32,
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
33 không còn giữ tên lớp thực mà là tham chiếu đến đối tượng hàm
// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
31. Việc cố gắng lấy lớp ________ 235 đến lớp ________ 236 hoàn toàn không cung cấp cho chúng ta tên lớp mà thay vào đó là tham chiếu đến phương thức lớp tĩnh. Ví dụ

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
38

Do sự tồn tại của các trường tĩnh,

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 có thể không phải là một hàm

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
39

Nếu một lớp có một thuộc tính tĩnh được gọi là

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3, thì nó cũng sẽ có thể ghi được. Định nghĩa tích hợp trong trường hợp không có định nghĩa tĩnh tùy chỉnh là chỉ đọc

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
0

Do đó, bạn không thể dựa vào thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 tích hợp để luôn giữ tên của lớp

Cảnh báo. Hãy cẩn thận khi sử dụng thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3 với các phép biến đổi mã nguồn, chẳng hạn như các phép biến đổi được thực hiện bởi bộ nén JavaScript [bộ khai thác] hoặc bộ làm nhiễu. Những công cụ này thường được sử dụng như một phần của quy trình xây dựng JavaScript để giảm kích thước của chương trình trước khi triển khai chương trình đó vào sản xuất. Các phép biến đổi như vậy thường thay đổi tên của hàm khi xây dựng

Mã nguồn như

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
1

có thể được nén để

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
2

Trong phiên bản không nén, chương trình chạy vào nhánh trung thực và ghi nhật ký "'foo' là một phiên bản của 'Foo'" — trong khi đó, trong phiên bản nén, nó hoạt động khác và chạy vào nhánh khác. Nếu bạn dựa vào thuộc tính

// -- someModule.js --
export default function [] {};

// -- main.js --
import someModule from "./someModule.js";

someModule.name; // "default"
3, như trong ví dụ trên, hãy đảm bảo quy trình xây dựng của bạn không thay đổi tên hàm hoặc không cho rằng một hàm có một tên cụ thể

__ func __ trong Python là gì?

Đối tượng phương thức này có thuộc tính __func__, chỉ là tham chiếu đến hàm được bao bọc. Bằng cách truy cập vào hàm bên dưới thay vì gọi phương thức, bạn loại bỏ kiểm tra đánh máy và bạn có thể chuyển bất kỳ thứ gì bạn muốn làm đối số đầu tiên

Tên hàm trong Python là gì?

Trong Python, bạn định nghĩa một hàm bằng từ khóa def, sau đó viết mã định danh hàm [tên], theo sau là dấu ngoặc đơn và dấu hai chấm . Điều tiếp theo bạn phải làm là đảm bảo rằng bạn thụt lề bằng một tab hoặc 4 dấu cách, sau đó chỉ định những gì bạn muốn chức năng thực hiện cho mình.

__ tên __ trong Python là gì?

Biến __name__ [hai dấu gạch dưới trước và sau] là một biến Python đặc biệt . Nó nhận được giá trị của nó tùy thuộc vào cách chúng tôi thực thi tập lệnh chứa. Đôi khi bạn viết một tập lệnh với các chức năng cũng có thể hữu ích trong các tập lệnh khác. Trong Python, bạn có thể nhập tập lệnh đó dưới dạng mô-đun trong tập lệnh khác.

Làm cách nào để lấy tên hàm hiện tại trong PHP?

Để lấy tên hàm bên trong hàm PHP, chúng ta cần sử dụng hằng số ma thuật[__FUNCTION__] . hằng số ma thuật. Hằng số ma thuật là các hằng số được xác định trước trong PHP được sử dụng trên cơ sở sử dụng chúng. Các hằng số này được bắt đầu và kết thúc bằng dấu gạch dưới kép [__].

Chủ Đề