一图看懂 builtins 资料整理+笔记(大全)

一图看懂 builtins 资料整理+笔记(大全)

全文介绍 builtins 的模块、函数、类及类的方法和属性。它直接取材于原码并经人工智能翻译、和人工校对。是一部不可多得的权威字典类工具书。它是续集的一部分。后续陆续发布、敬请关注。【原创】 大侠Ahcao

builtins 模块结构图(1)

builtins01

以上由Obj.Map()产生

builtins 模块结构图(2)

builtins02

  • 以上由 pyfile.OutTab(alpha=False, docs=False) 产生。
  • 说明:以上两图作用完全一样。
  • 本应再放第三个图:模块对内关系图。但由于 builtins 模块的特殊性,这个对内关系图,即构成模块的类、类的定义、属性及方法、模块的函数等,非常庞大。所以这里略去了图,直接用文本代替,以减少空间。

详细解释

与别的模块不一样:builtins.py 位于以下目录:
~\python_stubs-1026899380

一、常量

1 bool False False

2 bool True True

3 str name builtins

4 str doc 内置函数、异常和其他对象。值得注意的是:None是“nil”对象;Ellipsis...切片。

5 str package

6 type loader <class ‘_frozen_importlib.BuiltinImporter’>

7 ModuleSpec spec ModuleSpec(name=‘builtins’, loader=<class ‘_frozen_importlib.BuiltinImporter’>)

8 builtin_function_or_method build_class

9 builtin_function_or_method import

10 bool debug True

二、类

bool

11 type bool <class ‘bool’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘bool’ objects>

2 wrapper_descriptor str <slot wrapper ‘str’ of ‘bool’ objects>

3 wrapper_descriptor and <slot wrapper ‘and’ of ‘bool’ objects>

4 wrapper_descriptor rand <slot wrapper ‘rand’ of ‘bool’ objects>

5 wrapper_descriptor xor <slot wrapper ‘xor’ of ‘bool’ objects>

6 wrapper_descriptor rxor <slot wrapper ‘rxor’ of ‘bool’ objects>

7 wrapper_descriptor or <slot wrapper ‘or’ of ‘bool’ objects>

8 wrapper_descriptor ror <slot wrapper ‘ror’ of ‘bool’ objects>

9 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49E9990>

10 str doc

bool(x) -> bool
当参数x为真时返回True,否则返回False。内置的True和False是bool类仅有的两个实例。bool类是int类的子类,不能被子类化。

memoryview

12 type memoryview <class ‘memoryview’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘memoryview’ objects>

2 wrapper_descriptor hash <slot wrapper ‘hash’ of ‘memoryview’ objects>

3 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘memoryview’ objects>

4 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘memoryview’ objects>

5 wrapper_descriptor le <slot wrapper ‘le’ of ‘memoryview’ objects>

6 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘memoryview’ objects>

7 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘memoryview’ objects>

8 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘memoryview’ objects>

9 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘memoryview’ objects>

10 wrapper_descriptor len <slot wrapper ‘len’ of ‘memoryview’ objects>

11 wrapper_descriptor getitem <slot wrapper ‘getitem’ of ‘memoryview’ objects>

12 wrapper_descriptor setitem <slot wrapper ‘setitem’ of ‘memoryview’ objects>

13 wrapper_descriptor delitem <slot wrapper ‘delitem’ of ‘memoryview’ objects>

14 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49F4500>

15 method_descriptor enter <method ‘enter’ of ‘memoryview’ objects>

16 method_descriptor exit <method ‘exit’ of ‘memoryview’ objects>

17 str doc 创建一个新的memoryview对象引用给定的对象。

18 method_descriptor release <method ‘release’ of ‘memoryview’ objects>

19 method_descriptor tobytes <method ‘tobytes’ of ‘memoryview’ objects>

20 method_descriptor hex <method ‘hex’ of ‘memoryview’ objects>

21 method_descriptor tolist <method ‘tolist’ of ‘memoryview’ objects>

22 method_descriptor cast <method ‘cast’ of ‘memoryview’ objects>

23 getset_descriptor obj <attribute ‘obj’ of ‘memoryview’ objects>

24 getset_descriptor nbytes <attribute ‘nbytes’ of ‘memoryview’ objects>

25 getset_descriptor readonly <attribute ‘readonly’ of ‘memoryview’ objects>

26 getset_descriptor itemsize <attribute ‘itemsize’ of ‘memoryview’ objects>

27 getset_descriptor format <attribute ‘format’ of ‘memoryview’ objects>

28 getset_descriptor ndim <attribute ‘ndim’ of ‘memoryview’ objects>

29 getset_descriptor shape <attribute ‘shape’ of ‘memoryview’ objects>

30 getset_descriptor strides <attribute ‘strides’ of ‘memoryview’ objects>

31 getset_descriptor suboffsets <attribute ‘suboffsets’ of ‘memoryview’ objects>

32 getset_descriptor c_contiguous <attribute ‘c_contiguous’ of ‘memoryview’ objects>

33 getset_descriptor f_contiguous <attribute ‘f_contiguous’ of ‘memoryview’ objects>

34 getset_descriptor contiguous <attribute ‘contiguous’ of ‘memoryview’ objects>

bytearray

13 type bytearray <class ‘bytearray’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘bytearray’ objects>

2 wrapper_descriptor str <slot wrapper ‘str’ of ‘bytearray’ objects>

3 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘bytearray’ objects>

4 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘bytearray’ objects>

5 wrapper_descriptor le <slot wrapper ‘le’ of ‘bytearray’ objects>

6 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘bytearray’ objects>

7 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘bytearray’ objects>

8 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘bytearray’ objects>

9 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘bytearray’ objects>

10 wrapper_descriptor iter <slot wrapper ‘iter’ of ‘bytearray’ objects>

11 wrapper_descriptor init

self 的初始化。参见 help(type(self)) 了解准确的签名。

12 wrapper_descriptor mod <slot wrapper ‘mod’ of ‘bytearray’ objects>

13 wrapper_descriptor rmod <slot wrapper ‘rmod’ of ‘bytearray’ objects>

14 wrapper_descriptor len <slot wrapper ‘len’ of ‘bytearray’ objects>

15 wrapper_descriptor getitem <slot wrapper ‘getitem’ of ‘bytearray’ objects>

16 wrapper_descriptor setitem <slot wrapper ‘setitem’ of ‘bytearray’ objects>

17 wrapper_descriptor delitem <slot wrapper ‘delitem’ of ‘bytearray’ objects>

18 wrapper_descriptor add <slot wrapper ‘add’ of ‘bytearray’ objects>

19 wrapper_descriptor mul <slot wrapper ‘mul’ of ‘bytearray’ objects>

20 wrapper_descriptor rmul <slot wrapper ‘rmul’ of ‘bytearray’ objects>

21 wrapper_descriptor contains <slot wrapper ‘contains’ of ‘bytearray’ objects>

22 wrapper_descriptor iadd <slot wrapper ‘iadd’ of ‘bytearray’ objects>

23 wrapper_descriptor imul <slot wrapper ‘imul’ of ‘bytearray’ objects>

24 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49E9C40>

25 method_descriptor alloc <method ‘alloc’ of ‘bytearray’ objects>

26 method_descriptor reduce <method ‘reduce’ of ‘bytearray’ objects>

27 method_descriptor reduce_ex <method ‘reduce_ex’ of ‘bytearray’ objects>

28 method_descriptor sizeof <method ‘sizeof’ of ‘bytearray’ objects>

29 str doc

bytearray(iterable_of_ints) -> bytearray
bytearray(string, encoding[, errors]) -> bytearray
bytearray(bytes_or_buffer) -> mutable copy of bytes_or_buffer
bytearray(int) -> bytes array of size given by the parameter initialized with null bytes
bytearray() -> empty bytes array
Construct a mutable bytearray object from:

  • an iterable yielding integers in range(256)
  • a text string encoded using the specified encoding
  • a bytes or a buffer object
  • any object implementing the buffer API.
  • an integer

30 NoneType hash None

31 method_descriptor append <method ‘append’ of ‘bytearray’ objects>

32 method_descriptor capitalize <method ‘capitalize’ of ‘bytearray’ objects>

33 method_descriptor center <method ‘center’ of ‘bytearray’ objects>

34 method_descriptor clear <method ‘clear’ of ‘bytearray’ objects>

35 method_descriptor copy <method ‘copy’ of ‘bytearray’ objects>

36 method_descriptor count <method ‘count’ of ‘bytearray’ objects>

37 method_descriptor decode <method ‘decode’ of ‘bytearray’ objects>

38 method_descriptor endswith <method ‘endswith’ of ‘bytearray’ objects>

39 method_descriptor expandtabs <method ‘expandtabs’ of ‘bytearray’ objects>

40 method_descriptor extend <method ‘extend’ of ‘bytearray’ objects>

41 method_descriptor find <method ‘find’ of ‘bytearray’ objects>

42 classmethod_descriptor fromhex <method ‘fromhex’ of ‘bytearray’ objects>

43 method_descriptor hex <method ‘hex’ of ‘bytearray’ objects>

44 method_descriptor index <method ‘index’ of ‘bytearray’ objects>

45 method_descriptor insert <method ‘insert’ of ‘bytearray’ objects>

46 method_descriptor isalnum <method ‘isalnum’ of ‘bytearray’ objects>

47 method_descriptor isalpha <method ‘isalpha’ of ‘bytearray’ objects>

48 method_descriptor isascii <method ‘isascii’ of ‘bytearray’ objects>

49 method_descriptor isdigit <method ‘isdigit’ of ‘bytearray’ objects>

50 method_descriptor islower <method ‘islower’ of ‘bytearray’ objects>

51 method_descriptor isspace <method ‘isspace’ of ‘bytearray’ objects>

52 method_descriptor istitle <method ‘istitle’ of ‘bytearray’ objects>

53 method_descriptor isupper <method ‘isupper’ of ‘bytearray’ objects>

54 method_descriptor join <method ‘join’ of ‘bytearray’ objects>

55 method_descriptor ljust <method ‘ljust’ of ‘bytearray’ objects>

56 method_descriptor lower <method ‘lower’ of ‘bytearray’ objects>

57 method_descriptor lstrip <method ‘lstrip’ of ‘bytearray’ objects>

58 staticmethod maketrans <staticmethod object at 0x000000000056B7C8>

59 method_descriptor partition <method ‘partition’ of ‘bytearray’ objects>

60 method_descriptor pop <method ‘pop’ of ‘bytearray’ objects>

61 method_descriptor remove <method ‘remove’ of ‘bytearray’ objects>

62 method_descriptor replace <method ‘replace’ of ‘bytearray’ objects>

63 method_descriptor reverse <method ‘reverse’ of ‘bytearray’ objects>

64 method_descriptor rfind <method ‘rfind’ of ‘bytearray’ objects>

65 method_descriptor rindex <method ‘rindex’ of ‘bytearray’ objects>

66 method_descriptor rjust <method ‘rjust’ of ‘bytearray’ objects>

67 method_descriptor rpartition <method ‘rpartition’ of ‘bytearray’ objects>

68 method_descriptor rsplit <method ‘rsplit’ of ‘bytearray’ objects>

69 method_descriptor rstrip <method ‘rstrip’ of ‘bytearray’ objects>

70 method_descriptor split <method ‘split’ of ‘bytearray’ objects>

71 method_descriptor splitlines <method ‘splitlines’ of ‘bytearray’ objects>

72 method_descriptor startswith <method ‘startswith’ of ‘bytearray’ objects>

73 method_descriptor strip <method ‘strip’ of ‘bytearray’ objects>

74 method_descriptor swapcase <method ‘swapcase’ of ‘bytearray’ objects>

75 method_descriptor title <method ‘title’ of ‘bytearray’ objects>

76 method_descriptor translate <method ‘translate’ of ‘bytearray’ objects>

77 method_descriptor upper <method ‘upper’ of ‘bytearray’ objects>

78 method_descriptor zfill <method ‘zfill’ of ‘bytearray’ objects>

bytes

14 type bytes <class ‘bytes’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘bytes’ objects>

2 wrapper_descriptor hash <slot wrapper ‘hash’ of ‘bytes’ objects>

3 wrapper_descriptor str <slot wrapper ‘str’ of ‘bytes’ objects>

4 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘bytes’ objects>

5 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘bytes’ objects>

6 wrapper_descriptor le <slot wrapper ‘le’ of ‘bytes’ objects>

7 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘bytes’ objects>

8 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘bytes’ objects>

9 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘bytes’ objects>

10 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘bytes’ objects>

11 wrapper_descriptor iter <slot wrapper ‘iter’ of ‘bytes’ objects>

12 wrapper_descriptor mod <slot wrapper ‘mod’ of ‘bytes’ objects>

13 wrapper_descriptor rmod <slot wrapper ‘rmod’ of ‘bytes’ objects>

14 wrapper_descriptor len <slot wrapper ‘len’ of ‘bytes’ objects>

15 wrapper_descriptor getitem <slot wrapper ‘getitem’ of ‘bytes’ objects>

16 wrapper_descriptor add <slot wrapper ‘add’ of ‘bytes’ objects>

17 wrapper_descriptor mul <slot wrapper ‘mul’ of ‘bytes’ objects>

18 wrapper_descriptor rmul <slot wrapper ‘rmul’ of ‘bytes’ objects>

19 wrapper_descriptor contains <slot wrapper ‘contains’ of ‘bytes’ objects>

20 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49EA0F0>

21 method_descriptor getnewargs <method ‘getnewargs’ of ‘bytes’ objects>

22 str doc

bytes(iterable_of_ints) -> bytes
bytes(string, encoding[, errors]) -> bytes
bytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer
bytes(int) -> bytes object of size given by the parameter initialized with null bytes
bytes() -> empty bytes object
Construct an immutable array of bytes from:

  • an iterable yielding integers in range(256)
  • a text string encoded using the specified encoding
  • any object implementing the buffer API.
  • an integer

23 method_descriptor capitalize <method ‘capitalize’ of ‘bytes’ objects>

24 method_descriptor center <method ‘center’ of ‘bytes’ objects>

25 method_descriptor count <method ‘count’ of ‘bytes’ objects>

26 method_descriptor decode <method ‘decode’ of ‘bytes’ objects>

27 method_descriptor endswith <method ‘endswith’ of ‘bytes’ objects>

28 method_descriptor expandtabs <method ‘expandtabs’ of ‘bytes’ objects>

29 method_descriptor find <method ‘find’ of ‘bytes’ objects>

30 classmethod_descriptor fromhex <method ‘fromhex’ of ‘bytes’ objects>

31 method_descriptor hex <method ‘hex’ of ‘bytes’ objects>

32 method_descriptor index <method ‘index’ of ‘bytes’ objects>

33 method_descriptor isalnum <method ‘isalnum’ of ‘bytes’ objects>

34 method_descriptor isalpha <method ‘isalpha’ of ‘bytes’ objects>

35 method_descriptor isascii <method ‘isascii’ of ‘bytes’ objects>

36 method_descriptor isdigit <method ‘isdigit’ of ‘bytes’ objects>

37 method_descriptor islower <method ‘islower’ of ‘bytes’ objects>

38 method_descriptor isspace <method ‘isspace’ of ‘bytes’ objects>

39 method_descriptor istitle <method ‘istitle’ of ‘bytes’ objects>

40 method_descriptor isupper <method ‘isupper’ of ‘bytes’ objects>

41 method_descriptor join <method ‘join’ of ‘bytes’ objects>

42 method_descriptor ljust <method ‘ljust’ of ‘bytes’ objects>

43 method_descriptor lower <method ‘lower’ of ‘bytes’ objects>

44 method_descriptor lstrip <method ‘lstrip’ of ‘bytes’ objects>

45 staticmethod maketrans <staticmethod object at 0x000000000056BDC8>

46 method_descriptor partition <method ‘partition’ of ‘bytes’ objects>

47 method_descriptor replace <method ‘replace’ of ‘bytes’ objects>

48 method_descriptor rfind <method ‘rfind’ of ‘bytes’ objects>

49 method_descriptor rindex <method ‘rindex’ of ‘bytes’ objects>

50 method_descriptor rjust <method ‘rjust’ of ‘bytes’ objects>

51 method_descriptor rpartition <method ‘rpartition’ of ‘bytes’ objects>

52 method_descriptor rsplit <method ‘rsplit’ of ‘bytes’ objects>

53 method_descriptor rstrip <method ‘rstrip’ of ‘bytes’ objects>

54 method_descriptor split <method ‘split’ of ‘bytes’ objects>

55 method_descriptor splitlines <method ‘splitlines’ of ‘bytes’ objects>

56 method_descriptor startswith <method ‘startswith’ of ‘bytes’ objects>

57 method_descriptor strip <method ‘strip’ of ‘bytes’ objects>

58 method_descriptor swapcase <method ‘swapcase’ of ‘bytes’ objects>

59 method_descriptor title <method ‘title’ of ‘bytes’ objects>

60 method_descriptor translate <method ‘translate’ of ‘bytes’ objects>

61 method_descriptor upper <method ‘upper’ of ‘bytes’ objects>

62 method_descriptor zfill <method ‘zfill’ of ‘bytes’ objects>

classmethod

15 type classmethod <class ‘classmethod’>

1 wrapper_descriptor get <slot wrapper ‘get’ of ‘classmethod’ objects>

2 wrapper_descriptor init

self 的初始化。参见 help(type(self)) 了解准确的签名。

3 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49F2F20>

4 member_descriptor func <member ‘func’ of ‘classmethod’ objects>

5 getset_descriptor isabstractmethod <attribute ‘isabstractmethod’ of ‘classmethod’ objects>

6 getset_descriptor dict <attribute ‘dict’ of ‘classmethod’ objects>

7 str doc

classmethod(function) -> method
转换函数为类方法。类方法接收类作为隐式的第一个参数,就像实例方法接收实例一样。
要声明一个类方法,使用这个习语:
class C:
@classmethod
def f(cls, arg1, arg2, …):

它既可以在类上调用(例如C.f()),也可以在实例上调用(例如C().f())。除了它的类,实例将被忽略。
如果为派生类调用类方法,则派生类对象将作为隐含的第一个参数传递。
类方法不同于c++或Java的静态方法。如果你想要这些,请查看内置的staticmethod。

complex

16 type complex <class ‘complex’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘complex’ objects>

2 wrapper_descriptor hash <slot wrapper ‘hash’ of ‘complex’ objects>

3 wrapper_descriptor str <slot wrapper ‘str’ of ‘complex’ objects>

4 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘complex’ objects>

5 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘complex’ objects>

6 wrapper_descriptor le <slot wrapper ‘le’ of ‘complex’ objects>

7 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘complex’ objects>

8 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘complex’ objects>

9 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘complex’ objects>

10 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘complex’ objects>

11 wrapper_descriptor add <slot wrapper ‘add’ of ‘complex’ objects>

12 wrapper_descriptor radd <slot wrapper ‘radd’ of ‘complex’ objects>

13 wrapper_descriptor sub <slot wrapper ‘sub’ of ‘complex’ objects>

14 wrapper_descriptor rsub <slot wrapper ‘rsub’ of ‘complex’ objects>

15 wrapper_descriptor mul <slot wrapper ‘mul’ of ‘complex’ objects>

16 wrapper_descriptor rmul <slot wrapper ‘rmul’ of ‘complex’ objects>

17 wrapper_descriptor mod <slot wrapper ‘mod’ of ‘complex’ objects>

18 wrapper_descriptor rmod <slot wrapper ‘rmod’ of ‘complex’ objects>

19 wrapper_descriptor divmod <slot wrapper ‘divmod’ of ‘complex’ objects>

20 wrapper_descriptor rdivmod <slot wrapper ‘rdivmod’ of ‘complex’ objects>

21 wrapper_descriptor pow <slot wrapper ‘pow’ of ‘complex’ objects>

22 wrapper_descriptor rpow <slot wrapper ‘rpow’ of ‘complex’ objects>

23 wrapper_descriptor neg <slot wrapper ‘neg’ of ‘complex’ objects>

24 wrapper_descriptor pos <slot wrapper ‘pos’ of ‘complex’ objects>

25 wrapper_descriptor abs <slot wrapper ‘abs’ of ‘complex’ objects>

26 wrapper_descriptor bool <slot wrapper ‘bool’ of ‘complex’ objects>

27 wrapper_descriptor int <slot wrapper ‘int’ of ‘complex’ objects>

28 wrapper_descriptor float <slot wrapper ‘float’ of ‘complex’ objects>

29 wrapper_descriptor floordiv <slot wrapper ‘floordiv’ of ‘complex’ objects>

30 wrapper_descriptor rfloordiv <slot wrapper ‘rfloordiv’ of ‘complex’ objects>

31 wrapper_descriptor truediv <slot wrapper ‘truediv’ of ‘complex’ objects>

32 wrapper_descriptor rtruediv <slot wrapper ‘rtruediv’ of ‘complex’ objects>

33 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49EAA50>

34 method_descriptor getnewargs <method ‘getnewargs’ of ‘complex’ objects>

35 method_descriptor format <method ‘format’ of ‘complex’ objects>

36 str doc

用实数部分和可选虚数部分创建一个复数。这相当于(real + imag*1j),其中imag默认为0。

37 method_descriptor conjugate <method ‘conjugate’ of ‘complex’ objects>

38 member_descriptor real <member ‘real’ of ‘complex’ objects>

39 member_descriptor imag <member ‘imag’ of ‘complex’ objects>

dict

17 type dict <class ‘dict’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘dict’ objects>

2 NoneType hash None

3 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘dict’ objects>

4 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘dict’ objects>

5 wrapper_descriptor le <slot wrapper ‘le’ of ‘dict’ objects>

6 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘dict’ objects>

7 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘dict’ objects>

8 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘dict’ objects>

9 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘dict’ objects>

10 wrapper_descriptor iter <slot wrapper ‘iter’ of ‘dict’ objects>

11 wrapper_descriptor init

self 的初始化。参见 help(type(self)) 了解准确的签名。

12 wrapper_descriptor len <slot wrapper ‘len’ of ‘dict’ objects>

13 method_descriptor getitem <method ‘getitem’ of ‘dict’ objects>

14 wrapper_descriptor setitem <slot wrapper ‘setitem’ of ‘dict’ objects>

15 wrapper_descriptor delitem <slot wrapper ‘delitem’ of ‘dict’ objects>

16 method_descriptor contains <method ‘contains’ of ‘dict’ objects>

17 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49EB860>

18 method_descriptor sizeof <method ‘sizeof’ of ‘dict’ objects>

19 str doc

dict() -> 新的空字典
dict(mapping) -> 新字典初始化从映射对象的(key, value)对
dict(iterable) -> 新字典初始化,如同通过以下:
d = {}
for k, v in iterable:
d[k] = v
dict(**kwargs) -> 用 name=value对,进行新字典初始化。例如:dict(one=1, two=2)

20 method_descriptor get <method ‘get’ of ‘dict’ objects>

21 method_descriptor setdefault <method ‘setdefault’ of ‘dict’ objects>

22 method_descriptor pop <method ‘pop’ of ‘dict’ objects>

23 method_descriptor popitem <method ‘popitem’ of ‘dict’ objects>

24 method_descriptor keys <method ‘keys’ of ‘dict’ objects>

25 method_descriptor items <method ‘items’ of ‘dict’ objects>

26 method_descriptor values <method ‘values’ of ‘dict’ objects>

27 method_descriptor update <method ‘update’ of ‘dict’ objects>

28 classmethod_descriptor fromkeys <method ‘fromkeys’ of ‘dict’ objects>

29 method_descriptor clear <method ‘clear’ of ‘dict’ objects>

30 method_descriptor copy <method ‘copy’ of ‘dict’ objects>

enumerate

18 type enumerate <class ‘enumerate’>

1 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘enumerate’ objects>

2 wrapper_descriptor iter <slot wrapper ‘iter’ of ‘enumerate’ objects>

3 wrapper_descriptor next <slot wrapper ‘next’ of ‘enumerate’ objects>

4 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49EC4E0>

5 method_descriptor reduce <method ‘reduce’ of ‘enumerate’ objects>

6 str doc

返回一个枚举对象。
iterable 一个支持迭代的对象
enumerate对象生成包含count (from start,默认为0)和iterable实参产生的值的对。
Enumerate对于获取索引列表很有用:
(0, seq[0]), (1, seq[1]), (2, seq[2]), …

filter

19 type filter <class ‘filter’>

1 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘filter’ objects>

2 wrapper_descriptor iter <slot wrapper ‘iter’ of ‘filter’ objects>

3 wrapper_descriptor next <slot wrapper ‘next’ of ‘filter’ objects>

4 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49F7940>

5 method_descriptor reduce <method ‘reduce’ of ‘filter’ objects>

6 str doc

filter(function or None, iterable) --> filter object
返回一个迭代器,生成function(item)为true的iterable中那些项。如果function为None,则返回为true的项。

float

20 type float <class ‘float’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘float’ objects>

2 wrapper_descriptor hash <slot wrapper ‘hash’ of ‘float’ objects>

3 wrapper_descriptor str <slot wrapper ‘str’ of ‘float’ objects>

4 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘float’ objects>

5 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘float’ objects>

6 wrapper_descriptor le <slot wrapper ‘le’ of ‘float’ objects>

7 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘float’ objects>

8 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘float’ objects>

9 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘float’ objects>

10 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘float’ objects>

11 wrapper_descriptor add <slot wrapper ‘add’ of ‘float’ objects>

12 wrapper_descriptor radd <slot wrapper ‘radd’ of ‘float’ objects>

13 wrapper_descriptor sub <slot wrapper ‘sub’ of ‘float’ objects>

14 wrapper_descriptor rsub <slot wrapper ‘rsub’ of ‘float’ objects>

15 wrapper_descriptor mul <slot wrapper ‘mul’ of ‘float’ objects>

16 wrapper_descriptor rmul <slot wrapper ‘rmul’ of ‘float’ objects>

17 wrapper_descriptor mod <slot wrapper ‘mod’ of ‘float’ objects>

18 wrapper_descriptor rmod <slot wrapper ‘rmod’ of ‘float’ objects>

19 wrapper_descriptor divmod <slot wrapper ‘divmod’ of ‘float’ objects>

20 wrapper_descriptor rdivmod <slot wrapper ‘rdivmod’ of ‘float’ objects>

21 wrapper_descriptor pow <slot wrapper ‘pow’ of ‘float’ objects>

22 wrapper_descriptor rpow <slot wrapper ‘rpow’ of ‘float’ objects>

23 wrapper_descriptor neg <slot wrapper ‘neg’ of ‘float’ objects>

24 wrapper_descriptor pos <slot wrapper ‘pos’ of ‘float’ objects>

25 wrapper_descriptor abs <slot wrapper ‘abs’ of ‘float’ objects>

26 wrapper_descriptor bool <slot wrapper ‘bool’ of ‘float’ objects>

27 wrapper_descriptor int <slot wrapper ‘int’ of ‘float’ objects>

28 wrapper_descriptor float <slot wrapper ‘float’ of ‘float’ objects>

29 wrapper_descriptor floordiv <slot wrapper ‘floordiv’ of ‘float’ objects>

30 wrapper_descriptor rfloordiv <slot wrapper ‘rfloordiv’ of ‘float’ objects>

31 wrapper_descriptor truediv <slot wrapper ‘truediv’ of ‘float’ objects>

32 wrapper_descriptor rtruediv <slot wrapper ‘rtruediv’ of ‘float’ objects>

33 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49F2C00>

34 method_descriptor trunc <method ‘trunc’ of ‘float’ objects>

35 method_descriptor round <method ‘round’ of ‘float’ objects>

36 method_descriptor getnewargs <method ‘getnewargs’ of ‘float’ objects>

37 classmethod_descriptor getformat <method ‘getformat’ of ‘float’ objects>

38 classmethod_descriptor set_format <method ‘set_format’ of ‘float’ objects>

39 method_descriptor format <method ‘format’ of ‘float’ objects>

40 str doc 如果可能的话,将字符串或数字转换为浮点数。

41 method_descriptor conjugate <method ‘conjugate’ of ‘float’ objects>

42 method_descriptor as_integer_ratio <method ‘as_integer_ratio’ of ‘float’ objects>

43 classmethod_descriptor fromhex <method ‘fromhex’ of ‘float’ objects>

44 method_descriptor hex <method ‘hex’ of ‘float’ objects>

45 method_descriptor is_integer <method ‘is_integer’ of ‘float’ objects>

46 getset_descriptor real <attribute ‘real’ of ‘float’ objects>

47 getset_descriptor imag <attribute ‘imag’ of ‘float’ objects>

frozenset

21 type frozenset <class ‘frozenset’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘frozenset’ objects>

2 wrapper_descriptor hash <slot wrapper ‘hash’ of ‘frozenset’ objects>

3 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘frozenset’ objects>

4 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘frozenset’ objects>

5 wrapper_descriptor le <slot wrapper ‘le’ of ‘frozenset’ objects>

6 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘frozenset’ objects>

7 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘frozenset’ objects>

8 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘frozenset’ objects>

9 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘frozenset’ objects>

10 wrapper_descriptor iter <slot wrapper ‘iter’ of ‘frozenset’ objects>

11 wrapper_descriptor sub <slot wrapper ‘sub’ of ‘frozenset’ objects>

12 wrapper_descriptor rsub <slot wrapper ‘rsub’ of ‘frozenset’ objects>

13 wrapper_descriptor and <slot wrapper ‘and’ of ‘frozenset’ objects>

14 wrapper_descriptor rand <slot wrapper ‘rand’ of ‘frozenset’ objects>

15 wrapper_descriptor xor <slot wrapper ‘xor’ of ‘frozenset’ objects>

16 wrapper_descriptor rxor <slot wrapper ‘rxor’ of ‘frozenset’ objects>

17 wrapper_descriptor or <slot wrapper ‘or’ of ‘frozenset’ objects>

18 wrapper_descriptor ror <slot wrapper ‘ror’ of ‘frozenset’ objects>

19 wrapper_descriptor len <slot wrapper ‘len’ of ‘frozenset’ objects>

20 method_descriptor contains <method ‘contains’ of ‘frozenset’ objects>

21 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49F61D0>

22 method_descriptor reduce <method ‘reduce’ of ‘frozenset’ objects>

23 method_descriptor sizeof <method ‘sizeof’ of ‘frozenset’ objects>

24 str doc

frozenset() -> empty frozenset object
frozenset(iterable) -> frozenset object
构建唯一元素的不可变无序集合。

25 method_descriptor copy <method ‘copy’ of ‘frozenset’ objects>

26 method_descriptor difference <method ‘difference’ of ‘frozenset’ objects>

27 method_descriptor intersection <method ‘intersection’ of ‘frozenset’ objects>

28 method_descriptor isdisjoint <method ‘isdisjoint’ of ‘frozenset’ objects>

29 method_descriptor issubset <method ‘issubset’ of ‘frozenset’ objects>

30 method_descriptor issuperset <method ‘issuperset’ of ‘frozenset’ objects>

31 method_descriptor symmetric_difference <method ‘symmetric_difference’ of ‘frozenset’ objects>

32 method_descriptor union <method ‘union’ of ‘frozenset’ objects>

property

22 type property <class ‘property’>

1 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘property’ objects>

2 wrapper_descriptor get <slot wrapper ‘get’ of ‘property’ objects>

3 wrapper_descriptor set <slot wrapper ‘set’ of ‘property’ objects>

4 wrapper_descriptor delete <slot wrapper ‘delete’ of ‘property’ objects>

5 wrapper_descriptor init

self 的初始化。参见 help(type(self)) 了解准确的签名。

6 builtin_function_or_method new <built-in method new of type object at 0x000007FEE49EAD70>

7 member_descriptor doc

8 getset_descriptor isabstractmethod <attribute ‘isabstractmethod’ of ‘property’ objects>

9 method_descriptor getter <method ‘getter’ of ‘property’ objects>

10 method_descriptor setter <method ‘setter’ of ‘property’ objects>

11 method_descriptor deleter <method ‘deleter’ of ‘property’ objects>

12 member_descriptor fget <member ‘fget’ of ‘property’ objects>

13 member_descriptor fset <member ‘fset’ of ‘property’ objects>

14 member_descriptor fdel <member ‘fdel’ of ‘property’ objects>

int

23 type int <class ‘int’>

1 wrapper_descriptor repr <slot wrapper ‘repr’ of ‘int’ objects>

2 wrapper_descriptor hash <slot wrapper ‘hash’ of ‘int’ objects>

3 wrapper_descriptor str <slot wrapper ‘str’ of ‘int’ objects>

4 wrapper_descriptor getattribute <slot wrapper ‘getattribute’ of ‘int’ objects>

5 wrapper_descriptor lt <slot wrapper ‘lt’ of ‘int’ objects>

6 wrapper_descriptor le <slot wrapper ‘le’ of ‘int’ objects>

7 wrapper_descriptor eq <slot wrapper ‘eq’ of ‘int’ objects>

8 wrapper_descriptor ne <slot wrapper ‘ne’ of ‘int’ objects>

9 wrapper_descriptor gt <slot wrapper ‘gt’ of ‘int’ objects>

10 wrapper_descriptor ge <slot wrapper ‘ge’ of ‘int’ objects>

11 wrapper_descriptor add <slot wrapper ‘add’ of ‘int’ objects>

12 wrapper_descriptor radd <slot wrapper ‘radd’ of ‘int’ objects>

13 wrapper_descriptor sub <slot wrapper ‘sub’ of ‘int’ objects>

14 wrapper_descriptor rsub <slot wrapper ‘rsub’ of ‘int’ objects>

15 wrapper_descriptor mul <slot wrapper ‘mul’ of ‘int’ objects>

16 wrapper_descriptor rmul <slot wrapper ‘rmul’ of ‘int’ objects>

17 wrapper_descriptor mod <slot wrapper ‘mod’ of ‘int’ objects>

18 wrapper_descriptor rmod <slot wrapper ‘rmod’ of ‘int’ objects>

19 wrapper_descriptor divmod <slot wrapper ‘divmod’ of ‘int’ objects>

20 wrapper_descriptor rdivmod <slot wrapper ‘rdivmod’ of ‘int’ objects>

21 wrapper_descriptor pow <slot wrapper ‘pow’ of ‘int’ objects>

22 wrapper_descriptor rpow <slot wrapper ‘rpow’ of ‘int’ objects>

23 wrapper_descriptor neg <slot wrapper ‘neg’ of ‘int’ objects>

24 wrapper_descriptor pos <slot wrapper ‘pos’ of ‘int’ objects>

25 wrapper_descriptor abs <slot wrapper ‘abs’ of ‘int’ objects>

26 wrapper_descriptor bool <slot wrapper ‘bool’ of ‘int’ objects>

27 wrapper_descriptor invert <slot wrapper ‘invert’ of ‘int’ objects>

28 wrapper_descriptor lshift <slot wrapper ‘lshift’ of ‘int’ objects>

29 wrapper_descriptor rlshift <slot wrapper ‘rlshift’ of ‘int’ objects>

30 wrapper_descriptor rshift <slot wrapper ‘rshift’ of ‘int’ objects>

31 wrapper_descriptor rrshift <slot wrapper ‘rrshift’ of ‘int’ objects>

32 wrapper_descriptor and <slot wrapper ‘and’ of ‘int’ objects>

33 wrapper_descriptor rand <slot wrapper ‘rand’ of ‘int’ objects>

34 wrapper_descriptor xor <slot wrapper ‘xor’ of ‘int’ objects>

35 wrapper_descriptor rxor <slot wrapper ‘rxor’ of ‘int’ objects>

36 wrapper_descriptor or <slot wrapper ‘or’ of ‘int’ objects>

37 wrapper_descriptor ror <slot wrapper ‘ror’ of ‘int’ objects>

38 wrapper_descriptor int <slot wrapper ‘int’ of ‘int’ objects>

39 wrapper_descriptor float <slot wrapper ‘float’ of ‘int’ objects>

40 wrapper_descriptor floordiv <slot wrapper ‘floordiv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《Core Java》介绍和我的课程计划 李冰Email: bing.li@asu.eduWeChat: libertymama2021年4月15日 这是我第一次通过录屏的方式讲授主流程序设计技术。从今年二月底至今,我已经录制了105讲52.5小时的视频课程。通过这段时间的工作,我认为借助互联网强大的传播能力,这种新型教育方式完全具备超越传统实体模式的巨大优势,一定会成为未来教育的发展趋势。我会积极投入到这项事业当中,尽我所能提供更多高质量在线教学课程。 一、本课程内容 本课程将以Cay Horstmann的经典著作《Core Java》(第11版,2019年)为蓝本面向广大程序设计爱好者以及专业人员讲授基础Java程序设计技术。对于主流程序设计语言的教学,教材的选用对教学效果具有决定意义。我虽然有大量Java语言开发经验,但并没有时间和精力按照我自己的理解写一部教材。在这种情况下,不妨在现有资料中做出恰当选择。在长期Java程序开发过程中,我收集的各种Java程序设计书籍超过50部。它们包括基础技术、设计模式、并发技术、数据处理、网络通信、性能优化、代码测试以及高级技巧等多个方面。通过对这些书籍的比较,我认为《Core Java》是全面介绍Java技术的经典教材。它篇幅宏大,对Java标准版(Java Standard Edition – JSE)大大小小各种问题做了细致入微的介绍。对学习者来说,它无疑是众多介绍Java基础技术书籍中的最佳选择。 为了方便学习者掌握本书,我对全书内容进行了摘要并编纂成幻灯片。在这个准备过程中,即使作为拥有大量程序设计经验的我来说,我也发现了我对一些细节认识的模糊,有的甚至从来没有接触过。事实上,这些细节对于我们提高程序质量是大有裨益的。作为基础程序设计技术的经典之作,本书除了有翔实完整的描述外,还包括大量具有充分说服力的程序示例。这体现了计算机科学作为当代最重要的科学分支之一所独有的理性诉求。为了使学习者更深入了解每一项技术,我还额外增添了很多程序示例,更加丰富了本课程的内容。这些示例使得全书所有论述都是建立在代码支持的基础上,成为学习Java程序设计技术最坚实的保证。 还有一点我需要说明的是,作为本课程的主讲者,我并不是简单地照本宣科。根据我的研发和教学经验,对程序设计这样一门复杂技术来说,主讲者以往和当前所从事的研发工作对讲课质量有着至关重要的影响。我会把我在研发中的实际体会融入在整个讲课过程中。对所有重要技术,除了清晰阐述原作者观念以外,我会提供我个人的评价供学习者参考;同时,我还会收集其他资料作为辅助,使得对特定技术的解释更加充分。通过多角度的观察体验,促使学习者全面透彻理解Java语言。我认为这种个性多元的教学方式是帮助大家掌握程序设计的关键所在。 由于本书的庞大容量,我还没有足够时间完成全书的录制。我会坚持完成所有课程,估计在六月中会完成第一卷全部十二章内容;在八月底完成第二卷的录制。保守估计,完成后全部幻灯片页数会超过3,000页;程序示例个数超过700个;全部代码程序会超过15,000行;全部视频课程时长至少会达到150小时,即300讲。当前,我已经完成本书第一卷前五章和第六章部分内容的录制,现在共有105讲(52.5小时)的视频,幻灯片达到1,222页。其中包括212个程序示例,共5,130行代码。在完成本书的全部录制之后,本课程将成为国内全网范围内时间最长和内容最丰富的Java基础技术视频教材。 当然,《Core Java》这本书也有它的不足。在全面覆盖Java标准版的同时,对一些重点问题的介绍深度上有欠缺。这对于一部力图囊括所有Java基础技术的教材来说也在所难免。为了弥补这个不足,我将在其他课程中予以弥补。这些课程也同样是基于知名经典著作进行介绍。我的初步计划涉及的著作包括:Steven John Metker的《Design Patterns Java Workbook》、Brian Goetz等的《Java Concurrency In Practice》、Elliotte Rusty Harold的《Java Network Programming》、Charlie Hunt和Binu John的《Java Performance》、Ira Forman和Nate Forman的《Java Reflection in Action》以及Maurice Naftalin和Philip Wadler的《Java Generic and Collections》。另外,我还计划把最新出版的其他重要英文程序设计专著在不侵犯版权的前提下,以视频方式呈现给大家。 二、本课程的理念 一项事业一定会有它的理想。程序设计的理想当然是能够完成伟大软件作品。 我们虽然都会在现实中不得不做出一些妥协,但理想总是唯一能够激发我们最大创造力的催化剂,它同样是带给我们最大快乐的源泉。我们也许在不断降低曾经的理想维度,但我们也同时都会在人生每一个寂静时刻扪心自问深刻反省。那些对我们自己灵魂发出的询问,就是我们不会屈服的个性展示。换句话说,面对理想时,我们自始自终都有来自内在天赋的支持。 当然,除了我们的天赋,为了理想,我们同样需要付出巨大的劳动。这些劳动不仅仅是学习和研发过程的坚持,更多的还是抵御外在环境对我们理想意想不到的干扰。其实,无论是否有那些干扰,在外人看来艰辛的劳动对于拥有理想的我们永远是最大的快乐。 对于程序设计来说,我个人伴着理想和辛勤劳动走了很长的路。即使如此,我只能说我对程序设计略知一二,甚至对做出高质量程序的解决之道还有些迷惑了。但我的这些付出,至少使我坚信没有任何灵丹妙药可以实现所谓“在零基础上几日登天”,我也不认为这样做程序的人会真正快乐。事实上,理想只会离这种模式的程序设计更远。 三、我的经验 作为本课程的主讲者,我应该具备一些基本素质。我希望我的经验能够得到各位的认可。 我现有程序代码量达到1,300,000行,其中Java有950,000行,其他语言有350,000行。至少,我在我的人际圈内没有发现超过这个数目的人。 此时此刻,我还在进行两个重要软件项目的研发。第一个是《新万维网》。它是对传统万维网(WWW)的重大改进。当前版本持续开发超过十年,基础层已经建立,我正在努力修改新版界面。我认为这个产品在学术和市场两个方面都会有很好前景。这个项目现在拥有代码行数882,224。从这个角度看,很可能是我国学界最大的软件研究项目。 另一个项目是《GreatFree: 面向互联网环境的通用分布式程序设计技术》。通过我的大量对比,这是国际学界在互联网环境下第一个具备通用开发能力的程序设计技术。尽我所知,我国在程序设计领域的贡献很少,我的这个成果具备首创价值。我正在把它以新的语言形式展现出来。这应该是我国在计算机领域贡献的第一个程序设计语言。现有成果已经开源,大家可以从GitHub上找到,链接是:http://github.com/greatfree/wind。 我当前还在大学任教。我在国际知名企业也有一些工作和实习经验。我曾经工作和实习过的机构包括:北京大学、西安工业大学、IBM研究中心(纽约)和贝尔实验室(北京)等。我还曾在美国亚利桑那州立大学获得过计算机科学博士学位。 四、英文问题 本课程的教材和幻灯片全部使用英文。英文是科技领域的官方语言,所有最新科技成果都是以英文方式呈现的。随着互联网技术的广泛普及,通过网络我们可以轻易获得足够多的英文资料。这对提高我们的程序设计技术和能力有极大帮助。另外,我认为当前大学普遍存在专业教育和英文教育割裂的现象,这是非常荒唐的。对于母语非英文的人来说,通过英文学习专业是掌握英文最佳甚至是唯一可行的学习方式。英文对于程序设计的帮助是决定性的。寻找一个编程中具体问题的答案,英文搜索结果要远好于中文。对于程序设计人员,英文还有更特别的意义,毕竟程序是英文写的。英文差,完全会导致程序质量大幅下降。最后,我着重需要强调的是,英文能够培养一个人科学理性的思维能力,对提高程序质量有着潜移默化的推动作用。 我多年在大学的教学中一直采取以英文学习专业的方式。实践告诉我,这种方式是成功的,普遍受到学生欢迎。我在我任教过的大学总是最受欢迎的老师之一,这和我的英文教学方式分不开。另外,在我的视频课程中,我对每一张幻灯片都有详细的中文口语解释和大量的程序示例。我认为英文不仅不会影响学习质量,反而会促进对具体程序设计技术的理解,毕竟英文更能反映出技术的本质。相比于大量不精确的翻译书籍,我认为直接学习英文原著是最好的选择。与此同时,借助视频技术实现音像并茂,可以生动展示英文教学内容,一定对提高学习者能力有本质上的提高。我认为大家是会欢迎这种模式的。英文不是学习科技的障碍,恰恰相反,它是我们通向科技巅峰的桥梁。 五、可能的学习者 《Core Java》这本书虽然讨论的是基础Java技术,但它翔实全面的风格其实对每一个对程序设计技术感兴趣专业和非专业人士都会有价值。 第一,没有任何程序设计经验的初学者。相比于其他主流语言,Java是经过长期演化后形成的程序设计技术。Java彻底摆脱了早期机器语言的影响,不存在任何对于机器特征过分依赖的编程方式;Java和互联网技术结合得更加紧密,适合学习者初步掌握互联网开发技术;Java采用面向对象程序设计风格,这是当前被普遍接受和推荐的程序设计理念;还有,相比于其他语言,Java的程序呈现方式更加简化。正是由于上述原因,Java是初学者学习程序设计的恰当选择。 第二,需要全面了解Java技术的程序设计人员。根据我的经验,一个程序员完全掌握一门程序设计语言的所有细节是非常困难的,一般都会存在对某个分支或者部分细节缺乏了解的现象。本课程的全面性会帮助程序员查漏补缺,以较小代价对模糊不清的枝节问题进行了解,从而完善自身的程序设计技术,并迅速在实际研发过程中将所学体现出来。 第三,致力于从事基础软件系统开发的Java程序设计人员。本课程讲授的Java标准版是Java最重要的技术。事实上,Java所有的开发能力集中体现在标准版当中,而非其他任何版本(如Java Enterprise Edition – JEE),更不是其他众多架构(Frameworks)所能代替的。在实际开发中,由于Java标准版一些主要技术使用难度相对较大,很多开发人员会有意回避使用它,转而去借助各种架构进行开发,从而快速完成应用软件的建立。从软件工程角度看,这种做法无可厚非。这些架构不要求研发人员具备深厚的基础知识和技能,只需通过简单配置或者简化的脚本语言编程就可以完成高层应用软件开发。但是长此以往,这种做法会逐渐降低程序设计人员的技术能力。只通过架构开发应用的研发人员大都会失去开发复杂基础软件系统的能力。本课程讲授的Java标准版是Java核心技术,对这个技术的全面掌握是开发基础软件系统不可或缺的。 六、怎样掌握Java程序设计技术 事实上,我不认为只通过这个课程就可以真正掌握Java程序设计技术。这个认识对任何程序设计技术课程都是成立。作为一门需要高度实践经验的科学技术,程序设计课程或者书籍只能是辅助的和启发式的。我认为无论使用何种开发技术何种开发理念,真正决定程序质量的永远是人,而不是单独的某项技术。对于一个高水平的程序设计师来说,他完全可以使用相对落后的技术做出高质量的软件;而低水平的程序设计人员,无论使用任何先进工具都无法保证程序水准。因此,我在课堂上经常和学生们说,你们要坚持“每天编程序”。更重要的是,这个程序应该学生独立思考后设想出的一个软件,每天坚持逐步把它做出来。当这个软件达到特定规模时,设计者才会真正领悟到程序设计的核心价值、各种技术的科学理性意义乃至程序设计的乐趣。 最后,除了“每天编程序”,其实我在课堂上对学生还有一个建议,就是“每天读英文”。前两天,我在网上看到一篇文章。它展示了钱学森先生1933年6月在国立交通大学读书时参加《水力学》考试的试卷。我惊讶地发现这份试卷完全是英文作答。这意味着在遥远的八十八年前,我国大学已经开始使用英文进行专业教育了。遗憾的是,在当前我国主要大学里,竟然还做不到这点。我希望大家能够理解我对英文学习重要性的一再重复:在我们这个全新时代,在一个富有朝气的学科中以英文为蓝本展开自己的理想!  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AhcaoZhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值