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)

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

  • 相关阅读:
    偏态分布的均值与中位数关系
    Leetcode 769. Max Chunks To Make Sorted
    【STL】max_element()函数
    [LeetCode] 1338. Reduce Array Size to The Half
    [LeetCode] 985. Sum of Even Numbers After Queries
    [LeetCode] 984. String Without AAA or BBB
    [LeetCode] 1405. Longest Happy String
    [LeetCode] 1646. Get Maximum in Generated Array
    [LeetCode] 926. Flip String to Monotone Increasing
    [LeetCode] 1658. Minimum Operations to Reduce X to Zero
  • 原文地址:https://www.cnblogs.com/topspeedking/p/6397963.html
Copyright © 2011-2022 走看看