首页 > 其他分享 >变量、input函数、getpass模块

变量、input函数、getpass模块

时间:2022-11-27 19:58:59浏览次数:45  
标签:name age getpass 模块 print input 输入

一、变量

1、声明变量

name = "ming"
print("my name is",name)

  上述代码声明了一个变量,变量名为:name,变量name的值为“ming”。

2、变量命名规则

  • 变量名只能是字母、数字或者下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 变量区分大小写
  • 以下关键字不能声明为变量名
    • and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield

3、赋值

示例:

name = "peng"
name2 = name
print("my name is ",name,name2)

name = "ming"
print("what name and name2 is ",name,name2)

执行结果:

 4、注释

单行注释
#
多行注释
'''
print("ming")
'''

二、input函数

函数语法:
input([prompt])
#参数说明
prompt: 提示信息 
  Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。   Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。在2.0input()控制台输入的默认是某个变量   raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。 注意:   input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。   除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。 注意:   python3 里 input() 默认接收到的是 str 类型。 示例:
name = input("name:")
# raw_input 2.x input 3.x
# input 2.x =
age = int(input("age:")) #integer,强制数据类型,默认用户输入字符串类型
#print(type(age),type(str(age)))
job = input("job:")
salary = input("salary:")

info = '''
---------info of {_name}----------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
           _age=age,
           _job=job,
           _salary=salary)
print(info)

info2 = '''
---------info of %s----------
Name:%s
Age:%d
Job:%s
Salary:%s
''' % (name,name,age,job,salary)
print(info2)

info3 = '''
---------info of {0}----------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info3)
输出结果:

 报错:

  用户交互模式下,默认输入都是字符串,Age是数字类型,需强制转换INT类型

三、getpass模块

getpass模块提供了可移植的密码输入,一共包括下面两个函数:
    1. getpass.getpass()
    2. getpass.getuser()

函数语法:

getpass.getpass([prompt[, stream]])

  提示用户输入一段密码,参数 prompt 用于提示用户开始输入,默认为'Password: '。在 Unix 上,该提示符被写入到类文件对象流中。参数 stream 默认为控制终端 (/dev/tty) 或入过前者不可用时为 sys.stderr (该参数在 Windows 上无效)。

  如果无回显输入不可用,getpass() 回退并向流 stream 中输出一个警告消息,从 sys.stdin 中读取并抛出异常 GetPassWarning。   适用于: Macintosh, Unix, Windows. *注:   如果你在 IDLE 中调用getpass(),输入可能会在你启动 IDLE 的终端中而不是在 IDLE 窗口中完成
exception getpass.GetPassWarning

  Python内置异常 UserWarning 的子类,当密码输入可能被回显时抛出。

getpass.getuser()

  返回用户的登录名,适用于:Unix, Windows

  该函数依次检测环境变量 LOGNAME、USER、LNAME 和 USERNAME,返回其中第一个非空的值。如果这些变量都没有被设置,支持 pwd 模块的系统会返回密码数据库中的登录名,否则抛出异常。   #注,此模块在pycharm中无法使用。

示例:

import getpass
_username = "yaoyuanying"
_password = "m@y1314"
username = input("username:")
password = getpass.getpass("password:")
#password = input("password:")
if _username == username and _password == password:
    print("welcome user {name} login...".format(name=username))
else:
    print("invalid username or password")

输出结果:

 

标签:name,age,getpass,模块,print,input,输入
From: https://www.cnblogs.com/xmtxh/p/16930443.html

相关文章

  • 用input,output输入,输出5个学生数据记录
    用input,output输入,输出5个学生数据记录思路:学生数据记录--->结构体多个学生数据记录----结构体数组构造函数input(输出),output(输入)//题目:构造input,output函数,......
  • python-re 正则模块
    \W+:匹配一个或多个非字母进行切割,匹配到的非字母不缓存;(\W+):匹配一个或多个非字母进行切割,匹配到的非字母全部缓存;(\W)+:匹配一个或多个非字母进行切割,匹配到的非字母缓存......
  • Rust的模块化概念与可见性修饰符
    【模块化编程】是指将计算机程序的功能分离成独立的、可相互作用的“模块”的软件设计概念,每个模块都包含着执行一个预期功能的代码,复杂的系统被分割为小块的独立代码块。......
  • yolov5推理模块复现
    importcv2importnumpyasnpimporttorch.nnimporttorchvisionimporttorchvision.transforms.functionalasTcheckpoint=torch.load("D:/yolov5m.pt",map_......
  • Java: User Input (Scanner)
    The Scanner classisusedtogetuserinput,anditisfoundinthe java.util package.Tousethe Scanner class,createanobjectoftheclassandusean......
  • 第1章-Spring的模块与应用场景
    目录一、Spring模块1.核心模块2.AOP模块3.消息模块4.数据访问模块5.Web模块6.测试模块二、集成功能1.目标原则2.支持组件三、应用场景1.典型完整的SpringWeb应......
  • js文件模块化引用问题(JavaScript modules)
    有个前端项目,需要用到配置文件。这个配置文件实在是太大了,就想拆成多个小的,然后一一引入,组合成一个完整的配置文件。如果是vue代码,这种情况根本是手到擒来,不费吹灰之力,而该......
  • 基础-循环、模块、文件读写
    1、循环(loop)1.1for循环:语法“for[变量名]in[可迭代对象名]:[指令]"name="xiaojiayu"forcharinname:char=char.upper()print(char)name=["xiao","jia......
  • Python: 50个能够满足所有需要的模块
    Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images,Sound,OSinteraction,Web,以及其他。推荐收藏。  Graphicalint......
  • 为什么需要模块化
    1.为什么需要模块化如果多人同时开发一个项目的时候,每个人都会创建很多的.js文件,可能就会存在命名冲突的问题。为了解决这个问题我们可以使用立即调用函数。但是......