主頁 > 後端開發 > Python_常見內置函式

Python_常見內置函式

2020-10-08 17:50:40 後端開發

1. 方法

 注:class(類)是具有相同的屬性和方法的物件的集合,

2. 例子

 (1)資料/集合型別

  • str(object=''); str(object=b'', encoding='utf-8', errors='strict')
  • int(x, base=10)
  • float(x=0)
  • complex(real=0, imag=0)
 1 >>> str(123)
 2 '123'
 3 >>> str(['a', 'b', 'c'])
 4 "['a', 'b', 'c']"
 5 >>> str(123).join(['a', 'b', 'c'])
 6 'a123b123c'
 7 >>> int('123')
 8 123
 9 >>> float('123')
10 123.0
11 >>> (0.75).as_integer_ratio()
12 (3, 4)
13 >>> (1.0).is_integer()
14 True
15 >>> complex(1, 2)
16 (1+2j)
17 >>> complex(1, 2).conjugate()
18 (1-2j)

注:str方法,詳情見https://www.cnblogs.com/shz-blog/p/12426630.html

  • range(stop), range(start, stop[, step])
  • tuple(iterable=())
  • list([iterable])
  • dict(); dict(mapping); dict(iterable); dict(**kwargs)
 1 >>> r = range(40, 1, -3)
 2 >>> t = tuple(r)
 3 >>> l = list(r)
 4 >>> t
 5 (40, 37, 34, 31, 28, 25, 22, 19, 16, 13, 10, 7, 4)
 6 >>> l
 7 [40, 37, 34, 31, 28, 25, 22, 19, 16, 13, 10, 7, 4]
 8 >>> r.count(1)
 9 0
10 >>> r.index(31)
11 3
12 >>> t.count(10)
13 1
14 >>> t.index(31)
15 3
16 >>> l.sort()
17 >>> l
18 [4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40]
19 >>> dict(a=1, b=2, c=3)
20 {'a': 1, 'b': 2, 'c': 3}
21 >>> dict(zip(list('abc'), [1, 2, 3]))
22 {'a': 1, 'b': 2, 'c': 3}
23 >>> dict([('a', 1), ('b', 2), ('c', 3)])
24 {'a': 1, 'b': 2, 'c': 3}
25 >>> dict(a=1, b=2, c=3).items()
26 dict_items([('a', 1), ('b', 2), ('c', 3)])

注:list方法,詳情見https://www.cnblogs.com/shz-blog/p/12438954.html;

    dict方法,詳情見https://www.cnblogs.com/shz-blog/p/12456194.html

  • set([iterable])
  • frozenset([iterable])
 1 >>> s1 = set('hello')
 2 >>> s1
 3 {'o', 'h', 'e', 'l'}
 4 >>> s1.add(123)
 5 >>> s1
 6 {'o', 'l', 'h', 'e', 123}
 7 >>> s1.discard('o')
 8 >>> s1
 9 {'l', 'h', 'e', 123}
10 >>> s2 = set('lemon')
11 >>> s2
12 {'o', 'l', 'e', 'm', 'n'}
13 >>> s1.update(s2)
14 >>> s1
15 {'o', 'l', 'h', 'e', 'm', 'n', 123}
 1 >>> a = frozenset('hello world')
 2 >>> a
 3 frozenset({'w', 'l', ' ', 'r', 'o', 'h', 'd', 'e'})
 4 >>> b = frozenset(range(5))
 5 >>> b
 6 frozenset({0, 1, 2, 3, 4})
 7 >>> c = frozenset(range(2,7))
 8 >>> c
 9 frozenset({2, 3, 4, 5, 6})
10 >>> b.union(c)    # 并集
11 frozenset({0, 1, 2, 3, 4, 5, 6})
12 >>> b.intersection(c)    # 交集
13 frozenset({2, 3, 4})
14 >>> b.difference(c)    # 差集
15 frozenset({0, 1})
16 >>> c.difference(b)    # 差集
17 frozenset({5, 6})
18 >>> b.symmetric_difference(c)    # 對稱差集
19 frozenset({0, 1, 5, 6})
20 >>> b.isdisjoint(c)    # 是否沒有交集
21 False
22 >>> d = frozenset(range(2,5))
23 >>> d
24 frozenset({2, 3, 4})
25 >>> d.issubset(b)    # 是否被包含
26 True
27 >>> b.issuperset(d)    # 是否包含
28 True
29 >>> e = d.copy()    #復制
30 >>> id(d) == id(e)
31 True
  •  bytearray和bytes
 1 >>> bytes()
 2 b''
 3 >>> bytes(3)
 4 b'\x00\x00\x00'
 5 >>> bytes('abc', 'utf-8')
 6 b'abc'
 7 >>> bytes([1, 2, 3])
 8 b'\x01\x02\x03'
 9 >>> b'abcd'.replace(b'bc', b'XY')
10 b'aXYd'
11 
12 >>> B = b'abc'
13 >>> BA = bytearray(B)
14 >>> BA
15 bytearray(b'abc')
16 >>> [i for i in B]
17 [97, 98, 99]
18 >>> [i for i in BA]
19 [97, 98, 99]
20 >>> B[0] = 65
21 Traceback (most recent call last):
22   File "<pyshell#25>", line 1, in <module>
23     B[0] = 65
24 TypeError: 'bytes' object does not support item assignment
25 >>> BA[0] = 65
26 >>> BA
27 bytearray(b'Abc')

(2)操作

  • format(value, format_spec='')

  詳情見https://www.cnblogs.com/shz-blog/p/12422194.html

  • len(obj)
  • sorted(iterable, key=None, reverse=False)
  • reversed(sequence)
  • slice(stop); slice(start, stop[, step])
 1 >>> L = list('abcde')
 2 >>> L
 3 ['a', 'b', 'c', 'd', 'e']
 4 >>> len(L)
 5 5
 6 >>> sorted(L, reverse=True)
 7 ['e', 'd', 'c', 'b', 'a']
 8 >>> list(reversed(L))
 9 ['e', 'd', 'c', 'b', 'a']
10 >>> L[slice(1, 4, 2)]
11 ['b', 'd']
  • enumerate(iterable, start=0)
  • zip(iter1 [,iter2 [...]])
  • map(func, *iterables)
 1 >>> l1 = [1, 2, 3]
 2 >>> l2 = [4, 5, 6]
 3 >>> l3 = [7, 8, 9, 10]
 4 
 5 >>> list(enumerate(l3))
 6 [(0, 7), (1, 8), (2, 9), (3, 10)]
 7 
 8 >>> list(zip(l1, l2))
 9 [(1, 4), (2, 5), (3, 6)]
10 >>> list(zip(l1, l3))
11 [(1, 7), (2, 8), (3, 9)]
12 >>> list(zip(*zip(l1, l3)))    # *理解為解壓
13 [(1, 2, 3), (7, 8, 9)]
14 
15 >>> list(map(lambda x: x * 3, l1))
16 [3, 6, 9]
17 >>> list(map(lambda x, y: x + y, l1, l2))
18 [5, 7, 9]

(3)輸入輸出

  •  input(prompt=None)
  • open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
1 >>> age = input('請輸入年齡:')
2 請輸入年齡:18
3 >>> age
4 '18'
5 >>> type(age)
6 <class 'str'>

 注:open的用法,詳情見https://www.cnblogs.com/sesshoumaru/p/6047046.html;

        檔案的打開、讀取等各種操作,詳情見https://www.cnblogs.com/hackpig/p/8215786.html

1 >>> print('hello world', 'hello Bunny', sep='\n', end='_'*10)
2 hello world
3 hello Bunny__________

注:flush的用法,參考https://blog.csdn.net/Zhongjie1986/article/details/91890109

(4)數學函式

  • abs(x)
  • divmod(x, y)
  • pow(x, y, z=None)
  • round(number, ndigits=None)
  • sum(iterable, start=0)
  • max(arg1, arg2, *args, *[, key=func]); max(iterable, *[, default=obj, key=func])
  • min(arg1, arg2, *args, *[, key=func]); min(iterable, *[, default=obj, key=func])
 1 >>> abs(-10)
 2 10
 3 >>> divmod(11, 3)
 4 (3, 2)
 5 >>> pow(2, 3)
 6 8
 7 >>> pow(2, 3, 3)
 8 2
 9 >>> round(1.2345, 2)
10 1.23
11 >>> sum(range(5))
12 10
 1 >>> max(1, 2, 3)
 2 3
 3 >>> max(1, 2, '3')
 4 Traceback (most recent call last):
 5   File "<pyshell#1>", line 1, in <module>
 6     max(1, 2, '3')
 7 TypeError: '>' not supported between instances of 'str' and 'int'
 8 >>> max(1, 2, '3', key=int)
 9 '3'
10 >>> max(-3, 1, 2, key=abs)
11 -3
12 >>> max('123')
13 '3'
14 >>> max([1, 8], [2, 6], [3, 4])
15 [3, 4]
16 >>> couple = ({'name': 'Bunny', 'age': 18, 'salary': 888}, {'name': 'Twan', 'age': 20, 'salary': 666})
17 >>> max(couple, key=lambda x: x['age'])
18 {'name': 'Twan', 'age': 20, 'salary': 666}
19 >>> max((), default=0)
20 0

 (5)編碼

  • bin(number), oct(number), hex(number)
  • chr(i), ord(c), ascii(obj), repr(obj)
 1 >>> bin(10)
 2 '0b1010'
 3 >>> oct(10)
 4 '0o12'
 5 >>> hex(10)
 6 '0xa'
 7 >>> chr(65)
 8 'A'
 9 >>> ord('A')
10 65
11 >>> ascii('hello world')
12 "'hello world'"
13 >>> repr('hello world')
14 "'hello world'"
15 >>> ascii('你好,世界')
16 "'\\u4f60\\u597d\\uff0c\\u4e16\\u754c'"
17 >>> repr('你好,世界')
18 "'你好,世界'"

(6)判斷

  • bool(x), all(iterable), any(iterable), callable(object)
 1 >>> all(['a', 'b', 'c'])
 2 True
 3 >>> all(['a', 'b', '', 'c'])
 4 False
 5 >>> all([])
 6 True
 7 >>> any([0, '', False])
 8 False
 9 >>> any([])
10 False
11 >>> callable(str)
12 True
13 >>> callable('hello world')
14 False

(7)迭代器

  • iter(iterable); iter(callable, sentinel)
  • next(iterator[, default])
  • filter(function or None, iterable)
 1 >>> for i in iter(list('abc')):
 2       print(i)
 3     
 4 a
 5 b
 6 c
 7 
 8 >>> from random import randint
 9 >>> def guess():
10     return randint(0,10)
11 >>> num = 1
12 >>> for i in iter(guess, 5):
13     print('第%s次猜測,猜測數字為:%s' % (num, i))
14     num += 1
15     
16 第1次猜測,猜測數字為:3
17 第2次猜測,猜測數字為:1

注:猜數字的例子來自http://www.imooc.com/article/287997

 1 >>> i = iter(list('abc'))
 2 >>> next(i)
 3 'a'
 4 >>> next(i)
 5 'b'
 6 >>> next(i)
 7 'c'
 8 >>> next(i)
 9 Traceback (most recent call last):
10   File "<pyshell#27>", line 1, in <module>
11     next(i)
12 StopIteration
13 >>> next(i, 0)
14 0
1 >>> def is_odd(n):
2     return n % 2 == 1
3 
4 >>> oldlist = [i for i in range(1,11)]
5 >>> oldlist
6 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
7 >>> newlist = list(filter(is_odd, oldlist))
8 >>> newlist
9 [1, 3, 5, 7, 9]

 (8)屬性操作

  • getattr(obj, name[, default])
  • setattr(obj, name, value)
  • hasattr(obj, name)
  • delattr(obj, name)
 1 >>> class Person:
 2       name = 'Bunny'
 3       age = 18
 4       sex = ''
 5 
 6 >>> Person.name
 7 'Bunny'
 8 >>> Person.country
 9 Traceback (most recent call last):
10   File "<pyshell#6>", line 1, in <module>
11     Person.country
12 AttributeError: type object 'Person' has no attribute 'country'
13 >>> getattr(Person, 'age', 0)
14 18
15 >>> getattr(Person, 'country', 0)
16 0
17 >>> setattr(Person, 'country', 'China')
18 >>> getattr(Person, 'country', 0)
19 'China'
20 >>> delattr(Person, 'sex')
21 >>> hasattr(Person, 'sex')
22 False

(9)輔助函式

  • dir([object])
1 >>> dir()
2 ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
3 >>> dir(dict)
4 ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
  • help([object])
1 >>> help(hash)
2 Help on built-in function hash in module builtins:
3 
4 hash(obj, /)
5     Return the hash value for the given object.
6     
7     Two objects that compare equal must also have the same hash value, but the
8     reverse is not necessarily true.
  •  hash(obj)
1 >>> hash('hello world')
2 -8331809543453374991
3 >>> hash(tuple('abcde'))
4 5996617995451668254

  哈希的相關知識點:https://www.cnblogs.com/abdm-989/p/11329122.html

  • id([object])
1 >>> a = 'hello world'
2 >>> b = a
3 >>> id(a)
4 1873301041520
5 >>> id(b)
6 1873301041520
  • memoryview(object)
1 >>> a = memoryview(bytearray('abcde', 'utf-8'))
2 >>> a[1]
3 98
4 >>> a[1:3]
5 <memory at 0x0000017F63B83408>
6 >>> a[1:3].tobytes()
7 b'bc'
8 >>> a[1:3].tolist()
9 [98, 99]

優點:memoryview減少記憶體拷貝,優化效率(詳情可參考https://www.hustyx.com/python/222/)

  • type(object), type(name, bases, dict)
  • issubclass(cls, class_or_tuple)
  • isinstance(obj, class_or_tuple)
1 >>> a = 2
2 >>> type(a)
3 <class 'int'>
4 >>> isinstance(a, int)
5 True
6 >>> isinstance(a, str)
7 False
8 >>> isinstance(a, (str, int, list))    # 是元組中的一個就回傳True
9 True
 1 >>> class A:
 2    pass
 3 
 4 >>> class B(A):
 5    pass
 6 
 7 >>> issubclass(B, A)
 8 True
 9 >>> isinstance(B(), A)
10 True
11 >>> type(B()) == A
12 False

(10)面向物件

  • @classmethod, @staticmethod
 1 >>> class A:
 2     num = 0    #類屬性
 3     #類方法
 4     @classmethod
 5     def setNum(cls,newNum):
 6         cls.num = newNum
 7     #實體方法
 8     def __init__(self):
 9         self.age = 1    #實體屬性
10     def setAge(self, newAge):
11         self.age = newAge
12     #靜態方法
13     @staticmethod
14     def printInfo():
15         print('類方法修改類屬性,實體方法修改實體屬性,靜態方法不訪問類')
16 
17         
18 >>> a = A()
19 >>> a.setAge(18)
20 >>> a.age
21 18
22 >>> A.setAge(18)
23 Traceback (most recent call last):
24   File "<pyshell#21>", line 1, in <module>
25     A.setAge(18)
26 TypeError: setAge() missing 1 required positional argument: 'newAge'
27 >>> A.setNum(100)
28 >>> A.num
29 100
30 >>> A.printInfo()
31 類方法修改類屬性,實體方法修改實體屬性,靜態方法不訪問類
  • property(fget=None, fset=None, fdel=None, doc=None); @property

效果:

 1 >>> c = C()
 2 >>> c.x = 10
 3 >>> c.x
 4 10
 5 >>> del c.x
 6 >>> c.x
 7 Traceback (most recent call last):
 8   File "<pyshell#18>", line 1, in <module>
 9     c.x
10   File "<pyshell#13>", line 5, in x
11     return self._x
12 AttributeError: 'C' object has no attribute '_x'

方式1:

 1 >>> class C(object):
 2       def getx(self): return self._x
 3       def setx(self, value): self._x = value
 4       def delx(self): del self._x
 5       x = property(getx, setx, delx, "I'm the 'x' property.")

方式2:

 1 >>> class C(object):
 2       @property
 3       def x(self):
 4           "I am the 'x' property."
 5           return self._x
 6       @x.setter
 7       def x(self, value):
 8           self._x = value
 9       @x.deleter
10       def x(self):
11           del self._x
  •  super
 1 >>> class A:
 2     def add(self, x):
 3         print(x+1)
 4         
 5 >>> class B(A):
 6     def add(self, x):
 7         super().add(x)
 8         
 9 >>> B().add(2)
10 3
  •  globals, locals, vars([object])
 1 >>> word = 'hello world'
 2 >>> def test(x):
 3     y = 1
 4     print(locals())
 5 
 6 >>> test(2)
 7 {'x': 2, 'y': 1}
 8 >>> globals()
 9 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'word': 'hello world', 'test': <function test at 0x0000023BE4CEEF28>}
10 >>> class A:
11     a = 1
12 
13 >>> vars(A)
14 mappingproxy({'__module__': '__main__', 'a': 1, '__dict__': <attribute '__dict__' of 'A' objects>, '__weakref__': <attribute '__weakref__' of 'A' objects>, '__doc__': None})

(11)可執行物件

  • eval(source, globals=None, locals=None)
  • exec(source, globals=None, locals=None)
  • compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
 1 >>> eval('2 * 3 + 4')
 2 10
 3 >>> exec('print("hello world")')
 4 hello world
 5 >>> eval_code = compile('2 * 3 + 4', '', 'eval')
 6 >>> eval_code
 7 <code object <module> at 0x00000269270686F0, file "", line 1>
 8 >>> eval(eval_code)
 9 10
10 >>> exec_code = compile('print("hello world")', '', 'exec')
11 >>> exec_code
12 <code object <module> at 0x0000026927074150, file "", line 1>
13 >>> exec(exec_code)
14 hello world

 需要注意的是,exec函式和eval函式都是將用戶提供的字串作為代碼執行,將無法控制代碼的行為,會帶來嚴重的安全隱患,使用的時候要慎重,

1 >>> exec('abs="xyz"')
2 >>> abs(-1)
3 Traceback (most recent call last):
4   File "<pyshell#13>", line 1, in <module>
5     abs(-1)
6 TypeError: 'str' object is not callable

報錯的原因是使用exec函式將'xyz'賦值給了abs,abs不再是求絕對值的函式了,為了避免污染命名空間,在呼叫exec函式時,可以給它傳遞第二個引數——命名空間,

1 >>> scope = {}
2 >>> exec('abs="xyz"', scope)
3 >>> abs(-1)
4 1
5 >>> scope['abs']
6 'xyz'

注:參考了https://www.cnblogs.com/lucky-heng/p/10161190.html

 

題外話:關于內置函式,發現了一個非常詳細的介紹(https://www.cnblogs.com/sesshoumaru/p/6140987.html),這個博主還對每個函式分別用一篇隨筆來介紹,寫到一半,看到這么詳盡的博客,瞬間就有點不想寫了,不過我寫博客主要還是為了方便自己日后查閱,不夠詳細的地方可以移步上面這個博主,本文總體參考了官方說明檔案、內置函式介紹英文版(https://docs.python.org/3/library/functions.html#classmethod)及其翻譯版(http://www.beixiongxiong.com/course/bxx_bzk_02/2084/),

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/163272.html

標籤:Python

上一篇:Python3標準庫:zlib GNUzlib壓縮

下一篇:值得收藏!15個 Pythonic 的代碼示例

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more