ShannonChenCHN / APythonTour

Yes, beautiful is better than ugly.
MIT License
0 stars 2 forks source link

3.1 Python 基础之 Hello World #7

Open ShannonChenCHN opened 6 years ago

ShannonChenCHN commented 6 years ago
ShannonChenCHN commented 6 years ago

输入输出

在实际使用计算机程序执行任务时,程序需要跟人交互,我们通过输入来让用户告诉计算机做什么,通过输出让计算机展示信息给用户。

输出

Python 提供了 print() 函数用于打印输出字符串:

print('Hello Shannon!')
print(123)
print(123 + 321)

注:当有多个参数时,print() 会依次打印每个字符串,遇到逗号, 会输出一个空格:

print('Hello Shannon!', 'Welcome to', 'Shanghai')

输入

Python 提供了 input() 函数用于接收用户的输入:

name = input('please enter your name: ')
print('hello,', name)

格式化

格式化是用来指定输出参数的格式与相对位置的字符串参数,简单说,就是将一些变量以指定的格式转换/拼接成字符串。比如要将 3.1415926 这个数字打印成只有2位小数的形式,在 C 语言中我们可以这样实现:

printf("%.2f", 3.1415926);  // 输出 “3.14”

在Python中,采用的格式化方式和C语言是一致的,用 %[parameter][flags][field width][.precision][length]type 作为格式化占位符,后面再用 %将参数连接起来。

示例代码:


print('Hi, %s, you have $%d.' % ('Shannon', 1000000))  # 输出 “Hi, Shannon, you have $1000000.”
print('%2d-%02d' % (3, 1))  #  输出 “ 3-01”
print('%.2f' % 3.1415926)  # 输出 “3.14”

常见的占位符有:

占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

参考:

在终端上输出带颜色的字体

格式(详细说明见『Python3使用Print输出带颜色字体』): 开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

例如:

print("\033[0;37;40m\t一段文字\033[0m")  

参考:

ShannonChenCHN commented 6 years ago

注释(Comments)

Block Comments(多行注释)

多行注释一般用来对其后紧跟的代码进行说明。

示例代码(代码片段摘自于 requests):

    # "I want us to put a big-ol' comment on top of it that
    # says that this behaviour is dumb but we need to preserve
    # it because people are relying on it."
    #    - Lukasa
    #
    # These are here solely to maintain backwards compatibility
    # for things like ints. This will be removed in 3.0.0.
    if not isinstance(username, basestring):
        username = str(username)

Inline Comments(行内注释)

行内注释是在一行 Python 代码后的注释,注释与代码之间至少保证 2 个空格的间隔。

建议尽量避免使用行内注释。

示例代码(代码片段摘自于 chea.sh):

def _visualize(query, keyword, answers, request_options, html=None): # pylint: disable=too-many-locals

    found = True            # if the page was found in the database
    editable = False        # can generated page be edited on github (only cheat.sheets pages can)
    result = ""

Documentation Strings

示例代码1(代码片段摘自于 官方教程):

>>> def my_function():
...     """Do nothing, but document it.
...
...     No, really, it doesn't do anything.
...     """
...     pass
...
>>> print(my_function.__doc__)
Do nothing, but document it.

    No, really, it doesn't do anything.

示例代码2(代码片段摘自于 requests

# -*- coding: utf-8 -*-

"""
requests.auth
~~~~~~~~~~~~~
This module contains the authentication handlers for Requests.
"""

import os
import re
import time

def _basic_auth_str(username, password):
    """Returns a Basic Auth string."""

    # write your code here

参考

ShannonChenCHN commented 6 years ago

代码块和缩进(Block and Indentation)

任何的编程语言都已一套自己语法,编译器或者解释器会将符合特定语法规则的程序代码“翻译”成 CPU 能够执行的机器码,再交给 CPU 去执行。

Python 语法的一个典型特征是:使用缩进和冒号:(而不是大括号)来组织代码块。

def absolute(a):
    if a >= 0:
        print(a)
    else:
        print(-a)

absolute(100)

另外一个特点是,Python 中不需要分号;来“断句”,每一行就是一个 Python 语句。