Python起步-2

1. 用户交互

我们在编写程序的时候,往往离不开和用户之间的交流,而和用户之间的交互就需要用到输入和输出了。

  • 1.1 输入input

当我们需要用户提供一些信息的时候,我们需要用到输入的方法input()

 input() 函数用来接受输入数据
 它的语法为  input([prompt])     #prompt是接受数据的时候提示的内容
  代码示例:
       input('请您输入您的用户名: ')

运行结果:
在这里插入图片描述
需要注意的是:在python3中input()方法返回的都是str类型
在这里插入图片描述

  • 1.2 输出print

print() 方法用于打印输出

代码示例
print(*objects, sep=' ', end='\n')
 1. 其中*object代表的是,print函数可以同时输出多个不同数据类型对象,
    例如:
           print(1, 'w', 1.2, ['XWenXiang'])
    运行结果是:
             1 w 1.2 ['XWenXiang']
             
 2. sep=' ',代表多个对象之间的间隔,默认为一个空格。可以修改成自己需要
的内容(空格的个数,逗号....等等都可以)

    例如,当我们改变空格距离时
          print(1, 'w', 1.2, ['XWenXiang'], sep='    ')
    运行的结果是:
             1    w    1.2    ['XWenXiang']
    对象之间的距离会比之前的大
    
 3. end='\n',代表了输出的结尾的样式,默认的是换行符 \n 。我们可以修改
自己所需要的字符串。
    
    例如end=''   代表了文末不换行。

1.3 格式化输出

在输出之中还存在着格式化输出。格式化输出的意义在于简便。
例如在日常中,各种手机短信除了关键信息不同,其他都是一样的

格式化输出是怎么实现的呢?格式化是通过占位符%s%d来占据位置,然后通过后面得到的数据代替占位符

代码示例:  
  template = '%s 你好,%s月份您的话费余额还剩%d'   #创建模板
  print(template % ('XWenXiang', 3, 100000000000)) #发给不同用户
  print(template %('Jon', 3, -10))

运行结果:
  XWenXiang 你好,3月份您的话费余额还剩100000000000
  Jon 你好,3月份您的话费余额还剩-10

代码示例:  也可以直接一行语句输出
print('%s,您的年龄是%d' %('XWenXiang', 14))

注意点:

第一个注意点:%s 可以表示任何类型的数据。 %d 只能表示数字
若当给%d其他类型的数据,程序就会报错
在这里插入图片描述

第二个注意点: 输出时实际的数据和占位符的数量必须一致,多一个少一个都会报错。
在这里插入图片描述

2. 运算符

2.1 算数运算符

算数运算符,顾名思义就是和数学的符号类似,不过有几个不同

+  加号,让两个对象相加
-  减号,让俩个对象相减
*  乘号,让俩个对象相乘
/  除号,让俩个对象相除
** 幂,例如 x**y 表示x的y次方
// 取整,俩个数相除取它的整数,例如 7//3 表示为 2  
%  取余,俩个数相除取它的余数,例如 7&2 表示为 1

2.2 比较运算符

用来比较俩个对象,返回的值是 True 或者 False

==  等于,比较对象是否相等。       例如 5==6 返回 False
!=  不等于,比较对象是否不相等。    例如 5!=6 返回 True
>   大于号,比较是否大于。         例如 5>6 返回 False
<   小于号,比较是否小于。         例如 5>6 返回 True
>=  大于等于,比较是否大于等于。    例如 5>6 返回 False
<=  小于等于,比较是否小于等于。    例如 5>6 返回 False

2.3 赋值运算符

=	简单的赋值运算符	
+=	加法赋值运算符	
-=	减法赋值运算符	
*=	乘法赋值运算符	
/=	除法赋值运算符	
%=	取模赋值运算符	
**=	幂赋值运算符	    
//=	取整除赋值运算符	
增量赋值:

实现增量运算的写法有俩种:

第一种:
     x = 1
     x = x + 1
     x = x - 1
     x = x * 2
        .
        .
        .
第二种:较为简略
     x = 1
     x += 1
     x -= 1
     x*= 2
       .
       .
       .
链式赋值:

我们在给多个变量名赋值同样的变量值时,会采用

x = 1
y = 1
z = 1

我们可以直接将所有变量名同时赋值,这样会更加简洁

x = y = z = 1
交叉赋值:

我们可以通过交叉赋值来对变量的值进行交换。

若是需要将俩个变量的值互换,我们可以这样操作:
  x = 1
  y = 2
  z = x
  x = y
  y = z

上面的代码运行后,底层发生了下图的流程:
在这里插入图片描述
会发现这样会很麻烦,还有一种写法,就是交叉赋值:


x, y = y, x

这样的方法和上面的结果一致
解压复制:

当我们需要把列表的值取出赋值给多个变量名时,有下面几种方法。

第一种:
listA = [1, 2, 3, 4, 5]

a = listA[0]
b = listA[1]
c = listA[2]
d = listA[3]
e = listA[4]

print(a, b, c, d, e)

明显察觉到这样方式很麻烦

第二种:
listA = [1, 2, 3, 4, 5]

a, b, c, d, e = listA
print(a, b, c, d, e)

这样称之为解压赋值,明显会比第一种简略很多。

'''但是,需要注意的是,这种方法赋值时,需要赋值的变量名的数量必须和列表
的元素数量相同,多一个或者少一个都会报错'''

若是列表元素太多,且只需要少部分的值用来赋值时,我们可以这样解决/

解决这样的方法:
a, b, *_ = listA
'''
    先用 _ (下划线)用来储存不需要的部分,可以用别的名称,但推荐使用下
划线,这也算约定俗成的习惯,看到下划线就表示这部分不需要用到。
    然后*号将不要的部分放到 _ 并以列表的方式储存。
''' 

# 下图用于证明 *_ 的类型是 list
在这里插入图片描述

个人认为,第三种方法也可行。

第三种:
listA = [1, 2, 3, 4, 5]     #创建包含多个值的列表

a, b, c = listA[:3]         #将需要赋值的变量名和列表切片对应

print(a, b, c)              #结果和上面的也一样。

2.4 逻辑运算符

逻辑运算符有 and or not 三个

 and	x and y
 or	    x or y
 not	not x
and  与   多个条件时,需要所有条件都满足后才会返回 True
or   或   多个条件时,只需要满足一个条件就会返回 True
and  非   用来反转,将 True 反转成 False ,或将 False 反转成 True

若是三种逻辑运算符都混在一起时,他们是有优先级的,我们只要人为的在编写初期就强制规定好顺序就行(用括号来规定)

2.5 成员运算符

成员运算是判断一个值是否在一个序列里,若在返回 True,若不在返回 False。

查找的语句是 innot in 
     print('a' in 'apple')     返回的值是 True
     print('a' not in 'apple') 返回的值是 False

2.6 身份运算符

身份运算符用来比较对象之间的内存地址

比较的语句是 isis not
     若内存地址一致,返回 True  否则返回 False
     
     x is y   等价于  id(x) == id(y)
     id()函数是用来获取对象的内存地址
     
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值