• 1.3 Python基础知识


    一、用户交互

      用户交互方面,每种开发语言都有不同的方式,例如shell语言用的是,“read -p "What is  your name ? " ”。python中是什么样子的呢?请看示例:

    name = input("What is your name ? ")
    print("Hello ",name)

      python中使用的是函数input()进行用户交互,示例中通过input()函数提出问题“What is your name ?”,这时会等待用户的输入,当用户输入一个答案后,由input()函数接收到并传递给名为name的变量,并打印出结果。这是在python 3.x中交互方式,在python 2.x 中是另一个方法实现的,如下:

    name = rawinput("What is your name ? ")
    print("Hello ",name)

       

      在有一些登录场景,我们是需要输入密码的,但是我们通过传统的方式,获取信息,代码如下:

    username = input("username : ")
    passwd = input("password")

      但是这种方式输入的密码是以明文的方式,即可见的方式获取的,不太安全,所以在python中可以使用不可见的方式获取到密码,代码如下:

    # 导入getpass模块
    import getpass
    
    username = input("username :")
    
    # 使用getpass.getpass方法获取到输入的密码
    password = getpass.getpass("password : ")

    二、传递参数

      在上面的示例中,将接收到答案是通过print()函数输出的,那么答案的变量name是怎么样传递的呢?在python中有以下几种方式:

      示例1:

    name = input("你叫什么名字?")
    age = input("你多大了?")
    job = input("你的工作是什么?")
    
    # 在python中可以用三组引号进行格式化
    
    info = """
    ------ info of %s ------
    name : %s
    age : %s
    job : %s
    """ % (name,name,age,job)

    print(info)

      示例1中使用的方式为“$s”,即使用数据类型进行占位,后面按位置进行传递相应的变量。$s代表需要传递一个sting类型数据,python中还有其他类型数据$d,代表的是integer类型数据等。

      示例2:

    name = input("你叫什么名字?")
    age = input("你多大了?")
    job = input("你的工作是什么?")
    
    info = ""
    ------ info of {_name_} ------
    name : {_name_}
    age : {_age_}
    job : {_job_}
    """.format(_name_=name,
          _age_=age,
          _job_=job) print(info)

      示例2中采用的是字符串格式化方式,在需要传递参数的位置使用“{关键名字}”,在后面使用format的方法对对应的名字进行变量赋值。这个参数又叫关键位置参数

      示例3:

    name = input("你叫什么名字?")
    age = input("你多大了?")
    job = input("你的工作是什么?")
    
    info = ""
    ------ info of {0} ------
    name : {1}
    age : {2}
    job : {3}
    """.format(name,name,age,job)
    
    print(info)

      示例3中与示例2中类似,只是在format中指定参数的方式是通过位置进行传递参数,一一对应传递参数。所以又叫做位置参数

      以上三种示例的结果是一样的,其实在python中还有一个方式是通过"+"拼接的方式,例如:

    name = input("你叫什么名字?")
    age = input("你多大了?")
    job = input("你的工作是什么?")
    
    info = """
    ------ info of  """+name+""" ------
    name : """+name+"""
    age : """+age+"""
    job : """+job+"""
    """
    
    print(info)

      但是不建议使用此种方式,使用此种方式的话,会内存空间消耗增多,效率低下。

  • 相关阅读:
    尽解powershell的workflow
    powershell玩转iis网站服务器
    Windows Terminal (Preview)治好了cmd,powershell的癌症
    博客园“NET Core 版博客系统”的运维浅见
    此贴告诉你:为啥shell脚本人,不建议学python
    关于revit的外部扩展存储
    Revit二次开发 屏蔽复制构件产生的重复类型提示窗
    xpath测试工具 xpath调试工具
    c# 防止重复运行 弹出已运行窗口并传递消息
    .NET APlayer播放器 demo
  • 原文地址:https://www.cnblogs.com/topspeedking/p/6397963.html
Copyright © 2020-2023  润新知