File: LP6E/Chapter11/named-assignment.py

# Code from the book, with file opens added to make it runnable, 
# and numbers added to prints to denote examples.

F = 'lines.txt'
ignore = stop = 'stop\n'
print(0, repr(open(F).read()))


# Traditional

file = open(F)
line = file.readline()             # Sans the := expression 
if line:
    print(1, line)

file = open(F)
line = file.readline()             # Ditto, in while loops
while line:
    print(2, line)
    line = file.readline()


file = open(F)
while True:                        # Sans both := and redundancy
   line = file.readline()
   if not line: break
   print(3, line)


# Named assignment

file = open(F)
if line := file.readline():        # The := alternatives
    print(4, line)

file = open(F)
while line := file.readline():
    print(5, line)


file = open(F)
if (line := file.readline()) != ignore:        # Parentheses required
    print(6, line)

file = open(F)
while (line := file.readline()) != stop:       # And not a bad idea 
    print(7, line)



[Home page] Books Code Blog Python Author Train Find ©M.Lutz