- Learning Python for Forensics
- Preston Miller Chapin Bryce
- 302字
- 2021-08-20 10:17:01
The omnipresent print() function
Printing in Python is a very common technique as it allows the developer to display text to the console as the script executes. While there are many differences between Python 2 and 3, the way printing is called is the most obvious change, and is the reason why our previous example primarily only works with Python 3 as it is currently written. With Python 3, print became a function rather than a statement, as was the case with older versions of Python 2. Let's revisit our previous script and see a slight difference.
Note the following for Python 3:
001 print("Hello World!")
Note the following for Python 2:
001 print "Hello World!"
The difference is seemingly minor. In Python 2, where print is a statement, you do not need to wrap what is being printed in parentheses. It would be disingenuous to say the difference is just semantics; however, for now just understand that print is written in two different ways, depending on the version of Python being used. The ramifications of this minor change mean that legacy Python 2 scripts that use print as a statement cannot be executed by Python 3.
Where possible, our scripts will be written to be compatible with both versions of Python. This goal, while seemingly impossible due to the difference in print, can be accomplished by importing a special Python library, called __future__, and changing the print statement to a function. To do this, we need to import the print function from the __future__ library and then write all print commands as function.
The following script executes in both Python 2 and 3:
001 from __future__ import print_function
002 print("Hello World!")

In the previous screenshot, you can see the result of this script in Python 2.7.15 and Python 3.7.1.
- Extending Symfony2 Web Application Framework
- 數(shù)據(jù)恢復(fù)方法及案例分析
- Mobile Forensics Cookbook
- Metasploit Penetration Testing Cookbook(Second Edition)
- INSTANT Burp Suite Starter
- 網(wǎng)絡(luò)安全技術(shù)及應(yīng)用(第3版)
- 網(wǎng)絡(luò)運維親歷記 (網(wǎng)絡(luò)運維紀(jì)實文學(xué))
- 軟件安全保障體系架構(gòu)
- 互聯(lián)網(wǎng)企業(yè)安全高級指南
- Cybersecurity Threats,Malware Trends,and Strategies
- 企業(yè)數(shù)據(jù)安全防護指南
- 紅藍(lán)攻防:技術(shù)與策略(原書第3版)
- Instant OSSEC Host-based Intrusion Detection System
- Real-World SRE
- BeagleBone for Secret Agents