1800 Business Cards

Blogs For Kids To Read

the big list 25 ways reading helps your children sonlight search children s books lovereading4kids 22 best kid lit blogs to follow best children s book bloggers 22 best kid lit blogs to follow best children s book bloggers 22 best kid lit blogs to follow best children s book bloggers twinkl originals read free books for kids online twinkl 100 best children s book blogs to follow in 2026 check out feedspot s top 100 kids blogs for parents to read by the childrens bookshelf 8 book blogs you will love kids books list kids educational blogs every parent must read kidlo com children s literature blogs 15 recommended sites to follow children s literature blogs 15 recommended sites to follow feedspot ranks kids book explorer in top 100 children s book blogs 22 best kid lit blogs to follow best children s book bloggers the 50 best book blogs of 2026 detailed com 22 best kid lit blogs to follow best children s book bloggers 22 best kid lit blogs to follow best children s book bloggers 10 must read homeschool blogs for every parent in 2024 best children s book review blogs eevijones best books to read to your child at gene courtney blog 10 read aloud teaching strategies for elementary classrooms 22 best kid lit blogs to follow best children s book bloggers creative kids culture blog hop 37 bilingual kids reading and writing 10 best reading programs for kids help kids start a blog get them reading writing thinking creating kid blogging 101 how your kids can start their own blog homeschool ppt essential web 2 0 resources for enhancing reading instruction in 22 best kid lit blogs to follow best children s book bloggers 21 top reading websites for kids free fun learning alicia ortego student blog miss lewis 7th 8th grade ela english language arts the best kids activity blogs start a mom blog best children s book review blogs eevijones 20 best reading websites for kids in 2024 updated list 22 best kid lit blogs to follow best children s book bloggers blogs for kids pptx

:
Article Like Print Template
Display Product Details Images: Fix wrong statements in the curses documentation (Blog Writing Business)
window.encoding does not encode the string arguments on a build with wide-character support: the curses library converts the characters itself. In the HOWTO: getch() returns -1, not curses.ERR, when there is no input, and half-delay mode does the same as no-delay mode. getkey() returns the key name only for a special key. leaveok() is not a synonym for curs_set(). getstr() returns a bytes object, interprets the erase and kill characters, and limits bytes. The ACS_* constants are not all larger than 255. Also document get_wch() before getch(), mention complexchar and complexstr, and read whole characters in the examples.
1 parent Story Postr commit 161054c

22 best kid lit blogs to follow best children s book bloggers 2 files changed Interest Credit Cards For Good Credit

Lines changed: 60 additions & 38 deletions

Product Road Map PowerPoint Slide Blogs For Kids To Read

Doc/howto/curses.rst

Lines changed: 58 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -295,17 +295,21 @@ underline, reverse code, or in color. They'll be explained in more detail in
295295
the next subsection.
296296

297297

298-
The :meth:`~curses.window.addstr` method takes a Python string or
299-
bytestring as the value to be displayed. The contents of bytestrings
300-
are sent to the terminal as-is. Strings are encoded to bytes using
301-
the value of the window's :attr:`~window.encoding` attribute; this defaults to
302-
the default system encoding as returned by :func:`locale.getencoding`.
298+
The :meth:`~curses.window.addstr` method takes a Python string, bytestring
299+
or :class:`~curses.complexstr` as the value to be displayed. The contents
300+
of bytestrings are sent to the terminal as-is.
301+
On a build without wide-character support strings are encoded
302+
using the value of the window's :attr:`~window.encoding` attribute;
303+
this defaults to the default system encoding
304+
as returned by :func:`locale.getencoding`.
303305

304306
The :meth:`~curses.window.addch` methods take a character, which can be
305-
either a string of length 1, a bytestring of length 1, or an integer.
307+
either a string of length 1, a bytestring of length 1, an integer, or a
308+
:class:`~curses.complexchar`.
306309

307-
Constants are provided for extension characters; these constants are
308-
integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/-
310+
Constants are provided for the characters of the terminal's alternate
311+
character set.
312+
For example, :const:`ACS_PLMINUS` is a +/-
309313
symbol, and :const:`ACS_ULCORNER` is the upper left corner of a box
310314
(handy for drawing borders). You can also use the appropriate Unicode
311315
character.
@@ -319,11 +323,11 @@ won't be distracting; it can be confusing to have the cursor blinking at some
319323
apparently random location.
320324

321325
If your application doesn't need a blinking cursor at all, you can
322-
call ``curs_set(False)`` to make it invisible. For compatibility
323-
with older curses versions, there's a ``leaveok(bool)`` function
324-
that's a synonym for :func:`~curses.curs_set`. When *bool* is true, the
325-
curses library will attempt to suppress the flashing cursor, and you
326-
won't need to worry about leaving it in odd locations.
326+
call ``curs_set(False)`` to make it invisible.
327+
The window method :meth:`~curses.window.leaveok` does something different:
328+
when its argument is true,
329+
curses leaves the cursor wherever the last update put it,
330+
instead of moving it back to the window's cursor position.
327331

328332

329333
Attributes and Color
@@ -364,6 +368,14 @@ could code::
364368
curses.A_REVERSE)
365369
stdscr.refresh()
366370

371+
A :class:`~curses.complexchar` carries its attributes and color pair
372+
together with the text of one character cell,
373+
and a :class:`~curses.complexstr` is a run of such cells.
374+
They are what :meth:`~curses.window.in_wch` and
375+
:meth:`~curses.window.in_wchstr` return,
376+
so a part of the screen can be read and written back
377+
with its appearance intact.
378+
367379
The curses library also supports color on those terminals that provide it. The
368380
most common such terminal is probably the Linux console, followed by color
369381
xterms.
@@ -429,40 +441,48 @@ The C curses library offers only very simple input mechanisms. Python's
429441
:mod:`curses` module adds a basic text-input widget. (Other libraries
430442
such as :pypi:`Urwid` have more extensive collections of widgets.)
431443

432-
There are two methods for getting input from a window:
444+
There are three methods for getting input from a window:
433445

434-
* :meth:`~curses.window.getch` refreshes the screen and then waits for
446+
* :meth:`~curses.window.get_wch` refreshes the screen and then waits for
435447
the user to hit a key, displaying the key if :func:`~curses.echo` has been
436448
called earlier. You can optionally specify a coordinate to which
437449
the cursor should be moved before pausing.
438450

439-
* :meth:`~curses.window.getkey` does the same thing but converts the
440-
integer to a string. Individual characters are returned as
441-
1-character strings, and special keys such as function keys return
442-
longer strings containing a key name such as ``KEY_UP`` or ``^G``.
451+
* :meth:`~curses.window.getch` does the same thing but returns the code of
452+
the key instead of a character.
453+
With ncurses this is a single byte of the key's encoding in the current
454+
locale, so a character encoded with several bytes takes several calls,
455+
one byte per call.
456+
457+
* :meth:`~curses.window.getkey` does the same as :meth:`!getch` but returns
458+
a string:
459+
an ordinary key as a 1-character string,
460+
and a special key as its name, such as ``KEY_UP``.
443461

444462
It's possible to not wait for the user using the
445463
:meth:`~curses.window.nodelay` window method. After ``nodelay(True)``,
446-
:meth:`!getch` and :meth:`!getkey` for the window become
447-
non-blocking. To signal that no input is ready, :meth:`!getch` returns
448-
``curses.ERR`` (a value of -1) and :meth:`!getkey` raises an exception.
464+
the reads for the window become non-blocking.
465+
To signal that no input is ready,
466+
:meth:`!get_wch` and :meth:`!getkey` raise an exception,
467+
and :meth:`!getch` returns ``-1``.
449468
There's also a :func:`~curses.halfdelay` function, which can be used to (in
450-
effect) set a timer on each :meth:`!getch`; if no input becomes
469+
effect) set a timer on each read; if no input becomes
451470
available within a specified delay (measured in tenths of a second),
452-
curses raises an exception.
471+
the read fails the same way.
453472

454-
The :meth:`!getch` method returns an integer; if it's between 0 and 255, it
455-
represents the ASCII code of the key pressed. Values greater than 255 are
456-
special keys such as Page Up, Home, or the cursor keys. You can compare the
457-
value returned to constants such as :const:`curses.KEY_PPAGE`,
473+
Special keys such as Page Up, Home, or the cursor keys are returned by all
474+
three as one of the :ref:`KEY_* constants <curses-key-constants>`,
475+
all larger than 255.
476+
You can compare the value returned to constants such as
477+
:const:`curses.KEY_PPAGE`,
458478
:const:`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of
459479
your program may look something like this::
460480

461481
while True:
462-
c = stdscr.getch()
463-
if c == ord('p'):
482+
c = stdscr.get_wch()
483+
if c == 'p':
464484
PrintDocument()
465-
elif c == ord('q'):
485+
elif c == 'q':
466486
break # Exit the while loop
467487
elif c == curses.KEY_HOME:
468488
x = y = 0
@@ -474,16 +494,17 @@ conversion functions that take either integer or 1-character-string arguments
474494
and return the same type. For example, :func:`curses.ascii.ctrl` returns the
475495
control character corresponding to its argument.
476496

477-
There's also a method to retrieve an entire string,
478-
:meth:`~curses.window.getstr`. It isn't used very often, because its
497+
There's also a method to retrieve an entire line,
498+
:meth:`~curses.window.get_wstr`. It isn't used very often, because its
479499
functionality is quite limited; the only editing keys available are
480-
the backspace key and the Enter key, which terminates the string. It
481-
can optionally be limited to a fixed number of characters. ::
500+
the erase and kill characters, and the Enter key, which terminates the line.
501+
It can optionally be limited to a fixed number of characters;
502+
:meth:`~curses.window.getstr` returns a bytes object instead. ::
482503

483504
curses.echo() # Enable echoing of characters
484505

485-
# Get a 15-character string, with the cursor on the top line
486-
s = stdscr.getstr(0,0, 15)
506+
# Get a line of at most 15 characters, with the cursor on the top line
507+
s = stdscr.get_wstr(0,0, 15)
487508

488509
The :mod:`curses.textpad` module supplies a text box that supports an
489510
Emacs-like set of keybindings. Various methods of the

Doc/library/curses.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2002,7 +2002,8 @@ Other
20022002

20032003
.. attribute:: window.encoding
20042004

2005-
Encoding used to encode method arguments (Unicode strings and characters).
2005+
Encoding used to encode the string arguments of the methods and to decode
2006+
their results on a build without wide-character support.
20062007
The encoding attribute is inherited from the parent window when a subwindow
20072008
is created, for example with :meth:`window.subwin`.
20082009
By default, current locale encoding is used (see :func:`locale.getencoding`).

Good Presentation Slide Deck Blogs For Kids To Read

Comments
 (0)