zoukankan      html  css  js  c++  java
  • 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)

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

  • 相关阅读:
    Android(java)学习笔记98:如何让你的GridView不再滚动
    Android(java)学习笔记97:使用GridView以及重写BaseAdapter
    Android(java)学习笔记96:layout_weight使用注意事项
    Android(java)学习笔记95:Android运行时异常"Binary XML file line # : Error inflating class"
    HDU 2669 Romantic
    HDU 2674 N!Again
    二分查找
    HDU 3448 Bag Problem
    HDU 2962 Trucking
    HDU 3732 Ahui Writes Word
  • 原文地址:https://www.cnblogs.com/topspeedking/p/6397963.html
Copyright © 2011-2022 走看看