小编nin*_*ino的帖子

如何在类中调用函数?

我有一个类globals.py

#!/usr/bin/env python

class fg():                                                                                                                           
    def red(text):     return f'\033[00;49;031m{text}\033[0m'
    def heading(text): return red(text)
Run Code Online (Sandbox Code Playgroud)

我的testrun.py脚本如下:

#!/usr/bin/env python

from globals import fg

# Command 1:
print(fg.red("My text"))
# prints as expected


# Command 2:
print(fg.heading("My text"))
# throws the error: NameError: name 'red' is not defined
Run Code Online (Sandbox Code Playgroud)

问题是如何red在函数内调用heading函数。

python class function

3
推荐指数
1
解决办法
92
查看次数

如何修改浮点数以显示至少 n 位数字

在 bash 中,如何修改 afloat以便点之前的部分至少有两位数?

我想让A 列中的数字显示为B 列

A (Current)   B (Desired)
-----         ------
8.456         08.456
4.19          04.19
3.5           03.5
Run Code Online (Sandbox Code Playgroud)

我做了很多搜索,但我发现的大部分内容都是关于如何显示带有N 位小数的数字(例如17.7647 to 17.76),这没有帮助。

bash digits

2
推荐指数
1
解决办法
50
查看次数

从数据类的 __str__ 表示中排除一些属性

我们有这个类:

from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Dict

@dataclass
class BoardStaff:
    date: str = datetime.now()
    fullname: str
    address: str

    ## attributes to be excluded in __str__:
    degree: str
    rank: int = 10
    badges: bool = False
    cases_dict: Dict[str, str] = field(default_factory=dict)
    cases_list: List[str] = field(default_factory=list)

Emp = BoardStaff('Jack London', address='Unknown', degree='MA')
Run Code Online (Sandbox Code Playgroud)

作为BoardStaff数据类,可以轻松print(Emp)地接收:
BoardStaff(fullname='Jack London', address='Unknown', degree='MA', rank=10, badges=False, cases={}, date=datetime.datetime(2021, 8, 10, 11, 36, 50, 693428)).

但是,我希望从表示中排除一些属性(即最后 5 …

python attributes class python-dataclasses

2
推荐指数
1
解决办法
69
查看次数

在 vim 状态行上显示总字符数

我想在状态行中添加一个函数,通过它可以显示当前文件的总字符数。 :help statusline向我展示了F指的是Full path to the file in the buffer,通过一些搜索我知道如何显示 shell 命令的输出。所以我目前有这些.vimrc

set statusline+=%#lite#\ %o/%{DisplayTotalChars()}\

function! DisplayTotalChars()
    let current_file = expand("%:F")
    let total_chars = system('wc -c ' . current_file)
    return total_chars
endfunction
Run Code Online (Sandbox Code Playgroud)

这是它现在在状态行中显示的内容,而我只需要字符数而不是要显示的文件路径:

36/29488 /home/nino/scripts/gfp.py^@

vim statusline

1
推荐指数
1
解决办法
1257
查看次数