Bells¶
The Bell class represents a single bell. An object of type
Bell is essentially an integer, and bells are numbered starting with
the treble as 0. Member functions are provided to convert between this
numerical representation and a printable character. The class library can cope
with up to 256 bells, though only bells numbered from 0 to 32 may be described
by a printable character.
- class ringing.Bell([spec])¶
Constructs a Bell.
Bells may be constructed in a variety of ways:
>>> from ringing import Bell >>> Bell(10) # from an integer bell number Bell(10) >>> Bell('E') # from a printable character Bell(10) >>> Bell(Bell(10)) # from another bell Bell(10)
Bells are immutable once created.
This library makes extensive use of
Bellobjects as function parameters. These may be passed in the same ways:as a bell
as a character representing a bell
as an integer bell number
If a bell parameter can’t be read then a
TypeErrororValueErrorexception will be raised as most appropriate.- Parameters:
spec (
Bellor int or string) –Specification for constructing the bell. This might be:
Nothing. Constructs an object representing the treble (bell
0).Another bell. Constructs a copy.
An integer bell number. Constructs an object representing that bell.
A character (unicode or bytes) representing a bell.
- __lt__(bell)¶
- __le__(bell)¶
- __eq__(bell)¶
- __ne__(bell)¶
- __gt__(bell)¶
- __ge__(bell)¶
Compare a bell to another:
>>> from ringing import Bell >>> Bell(4) == '5' True
- Parameters:
row – value to compare
- Returns:
result
- Return type:
boolean
- MAX_BELLS¶
Maximum number of bells that may be represented using symbols. If the number of bells exceeds this value, the extra bells will be shown as “
*” characters.This attribute is available on the class as well as instances of it:
>>> from ringing import Bell >>> Bell.MAX_BELLS 33 >>> Bell(32).to_char() 'Z' >>> Bell(33).to_char() '*'
- Type:
integer
- to_char()¶
Returns a character representing a bell:
>>> from ringing import Bell >>> Bell(4).to_char() '5'
- Returns:
character
- Return type:
string
- static is_symbol(character)¶
Checks whether a character is a valid bell symbol:
>>> from ringing import Bell >>> Bell.is_symbol('5') True
- Parameters:
character (string) – character to check
- Returns:
result
- Return type:
boolean
- static set_symbols([symbols])¶
Sets the bell symbols that are to be used:
>>> from ringing import Bell, Row >>> Bell.set_symbols('abcdef') >>> Row(6) Row('abcdef') >>> Bell.MAX_BELLS 6
Note that bell symbols are set on a global level. Omit the symbol specification in order to reset to the default symbols:
>>> from ringing import Bell, Row >>> Bell.set_symbols('abcdef') >>> Row(6) Row('abcdef') >>> Bell.set_symbols() >>> Row(6) Row('123456')
- Parameters:
symbols (string) – symbols to use