zoukankan      html  css  js  c++  java
  • 用户交互,运算符

    1.交互

    1.1输入input

    用户的input输入任何内容,都存成字符串类型,然后赋值给等号左边的变量名

    username=input('请输入你的姓名:')

    1.2输出print

    默认的print功能有一个end参数,该参数的默认值为“ ”,可以将end参数的值改成任意其它字符。

    1.3格式化输出

    这是一个重点内容

    把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出

    2.格式化输出字符串的4种方式

    2.1 %号

    2.1.1格式的字符串(%s)与被格式化的字符串(传入的值)必须按照位置一一对应

    print('%s asked %s to do something' %('han','xiaobei')
    

    2.1.2通过字典的方式格式化,打破了位置带来的限制与困扰

    print('我的名字是%(name)s,我的年龄是%(age)s.' %{'age':'han','age':20})
    
    kwargs={'name':'hange','age':25}
    print('我的名字是%(name)s,我的年龄是%(age)s.' %kwargs)
    

    2.2 str.format

    该format方法是在Python2.6中引入的,是字符串类型内置方法,因str.format方式在性能和使用的灵活性上都比%好,所以推荐使用

    2.2.1使用位置参数

    按照位置一一对应
    print('{} asked {} to do something'.format('han','xiaohan'))
    

    2.2.2使用索引

    #使用索引取对应位置的值
    print('{0}{0}{1}{0}'.format('x','y'))   #xxyx
    print('{1} ask {0} to do something'.format('han','xiaohan')) 
    

    2.2.3 使用关键字参数or字典

    #可以通过关键字or字典的方式格式化,打破了位置带来的限制与困扰
    print('我的名字是{name},我的年龄是{age}.'.format(name='xiaohan',age=20)
    kwargs={'name':'xiaohan','age':20}
    print('我的名字是{name},我的年龄是{age}.'.format(**kwargs))  #使用**进行解包操作
    

    2.2.4 填充与格式化

    #先取值,然后在冒号后设定填充格式
    print('{0:*<10}'.format('开始执行'))    #*<10,左对齐,总共10个字符,不够用*号填充
    print('{0:*>10}'.format('执行完毕'))    #右对齐
    print('{0:*^10}'.format('正在执行'))    #居中对齐 
    

    2.2.5 精度与进制

    print('{salary:.3f}'.format(salary=3.1415926)
    print('{0:b}'.foramt(123))  转为二进制
    print('{0:o}'.format(9)     转为八进制    #此处的0代表的的是后面的第1个索引的位置
    

    2.3 f-Strings

    f-string是以f或F开头的字符串,核心在于字符串中符号{}的使用

    name='xiaohan'
    age=20
    print(f'{name}is {age}')
    print(F'{age} is {name}')
    

    2.3.1 {}中可以是变量名

    2.3.2 {}中可以是表达式

    #可以在{}中放置任意合法的Python表达式,会在运行时计算
    #如:数学表达式
    	print(f'{3*3/2}')
    #如:函数的调用 
    def foo(n):
    	print('foo say hello')
    return n 
    print(f'{foo(10)}')
    
    #如:调用对象
    name='han'
    print(f'{name.lower()}')
    

    3.基本运算符

    3.1 算数运算符

    如:+ - * / //(取整除) %(取余) **(幂)

    3.2比较运算符

    如:== != > 〉= < ≤

    3.3赋值运算符

    =,+=,-=,*=,/=,//=,%=,**=

    3.4链式赋值

    z=10
    y=10
    x=y
    x,y,z
    (10,10,10)
    
    也要以写为
    x=y=z=10
    print(x,y,z)
    10,10,10
    

    3.5 交叉赋值

    m=10
    n=20
    m,n = n,m
    print(m,n)       20,10
    

    4.逻辑运算符

    and or not 优先级为:not>and>or

    • 原理:1.not的优先级最高,就是把紧跟其后的那个条件结果取反,所以not与紧跟其后的条件不可分割
      • 2.如果语句中全部是用and连接,或者全部用or连接,那么按照从左到右的顺序依次计算即可
        • 3.如果语句既有and也有or,那么先用括号把and的左右两个条件括起来,然后再运算
     3>4 and 4>3 or 1==3 and 'x'=='x' or 3>3 可以转化为:
    (3>4 and 4>3) or (1==3 and 'x'=='x') or 3>3
    

    5.成员运算符

    in 和not in

    'han' in ['han','xiaohan']
    12 not in ['han','xiaohan']
    

    6.身份运算符

    is 和is not

    1. is 比较的是id,两个对象的id相同则返回True
    2. 在两个对象id不同时is not 会返回True
  • 相关阅读:
    前端与算法 leetcode 344. 反转字符串
    JavaScript闭包使用姿势指南
    前端与算法 leetcode 48. 旋转图像
    前端与算法 leetcode 36. 有效的数独
    前端与算法 leetcode 1. 两数之和
    前端与算法 leetcode 283. 移动零
    前端与编译原理 用js去运行js代码 js2run
    前端与算法 leetcode 66. 加一
    前端与算法 leetcode 350. 两个数组的交集 II
    前端与算法 leetcode 26. 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/xiaoxuanworking/p/14347599.html
Copyright © 2011-2022 走看看