100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python用户交互 基本数据类型 运算符

python用户交互 基本数据类型 运算符

时间:2023-07-19 11:18:11

相关推荐

python用户交互 基本数据类型 运算符

用户交互

在实际应用中,我们经常需要用户输入相应信息,根据用户输入信息进行反馈,此时我们需要input/output信息

python中提供了便捷的输入方法input()和print()

在python3中

name = input("请输入")

print(name)

print(type(name))

>>>

请输入123

123

<class 'str'>

Process finished with exit code 0

>>>

意味着在python3中用户输入的内容都以字符串的形式保存下来了

python2中:

C:\Users\DELL>python2

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 , 20:19:30) [MSC v.1500 32 bit (Intel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> name = input("请输入")

请输入123

>>> print(name)

123

>>>

>>> print(type(name))

<type 'int'>

>>>

>>> age = raw_input("请输入")

请输入123

>>> print(type(age))

<type 'str'>

>>>

输入123时是以int类型保存下来的

总结:在python3和python2中,input()方法的区别是py3将用户输入的内容全部以字符串的形式保存下来,而在py2是将用户输入的内容以原格式保存下来,而在python2中,raw_input()的用法和python3中的input()用法一样

格式化输出

name = input("name = ")

age = input("age = ")

hobby = input("hobby = ")

print("name is %s\nage is %s\nhobby is %s"%(name, age,hobby))

>>>

输出结果

>>>

C:\Users\DELL\AppData\Local\Programs\Python\Python37\python3.exe C:/Users/DELL/PycharmProjects/untitled1/day02/day03总结.py

name = 李静

age = 16

hobby = Swimming

name is 李静

age is 16

hobby is Swimming

>>>

>>>

python中%s为字符串占位符,实际上%s可以为任何数据类型占位,输出时双引号后面用%变量名来格式化输出

数据类型

1、数字类型:①整数型:age = 18

>>>type(age)

>>>(class 'int')

②浮点型:height = 176.5

>>>type(height)

>>>(class 'float')

2、字符串类型:变量值用单引号双引号或者三引号引起来都可以

>>> name = "heillo"

>>> type(name)

<class 'str'>

>>>

3、列表类型:可以表示一系列元素,用中括号括起来,元素间用逗号分隔

>>>val = ["Alex",18,[12,33,"egon"],20]

>>>type(val)

<class ‘list’>

>>>

列表中的元素可以是各种类型,自然也可以是列表和字典

4、字典类型:可以表示一对一对的元素,元素用花括号括起来:{“键”:值,“键”:值},元素被称为键值对

>>>val = {"name":"Alex","age":18}

>>>type(val)

<class 'dict'>

>>>

5、布尔类型:bool,用作判断条件用。布尔类型只有两种状态,True和False,所有数据类型都对应布尔值,其中 0,none,空字符串、空列表、空字典等为空的数据是False,其余都是True

>>> type(10>3)

<class 'bool'>

>>>

例:if 10>3:

print("you are right")

>>>

you are right

>>>

运算符

1、数字运算符:+,-,*,/,**,%,//

>>> print(10 + 2)

12

>>> print(10 - 2)

8

>>> print(10 * 2)

20

>>> print(10 / 2)

5.0

>>>

>>> print(10 ** 2)

100

>>> print(10 % 2)

0

>>> print(10 // 2)

5

>>>

2、比较运算符

>>> print(10 != 10)

False

>>> print(10>10)

False

>>> print(10>=10)

True

>>> print(10<=10)

True

>>> print(10<10)

False

>>> print(10 == 10)

True

>>> print(10 > "a") #数字类型不能与字符串类型比较

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: '>' not supported between instances of 'int' and 'str'

>>> print("abcd" > "abce")

False

总结 #字符串类型的比较根据字符串字符从左到右开始比较,如果第一个字符谁对应的ASCII码值大则那个字符串大,第一个字符相同则判断第二个字符,以此类推

>>> print(["123",12]>["abc",12])

False

总结:#列表类型的比较是从第一个元素开始比较,第一个元素谁大则哪个列表大,如果第一个元素相等则比较第二个元素,以此类推,注意,如果比较的元素不是同一类型则报错,如下:

>>> print(["123",12]>[123,12]) #

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: '>' not supported between instances of 'str' and 'int'

>>>

3、赋值运算符:“=”,age = 19

交叉赋值:

>>> x = 10

>>> y = 20

>>> x,y = y,x

>>> print(x,y)

20 10

>>>

等同于:

>>> x = 10

>>> y = 20

>>> z = x

>>> x = y

>>> y = z

>>> print(x,y)

20 10

>>>

增量赋值:

a = a + 1 <==> a += 1

a = a - 1 <==> a -= 1

a = a * 2 <==> a *= 2

a = a / 2 <==> a /= 2

a = a%2 <==> a %= 2

a = a // 2 <==> a //= 2

a = a ** 3 <==> a **= 3

解压赋值:将列表中的每个元素分别赋值给变量

>>> L1 = [1,2,3,4]

>>> a,b,c,d = L1

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

1 2 3 4

>>>

接收元素变量必须与元素个数一致,否则报错,如下:

>>> val = [1,2,3,4,5]

>>> a,b,c = val

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ValueError: too many values to unpack (expected 3)

>>>

当列表元素比较多,这时候只想取前两个值和后两个值怎么办呢,看下面代码

>>> L2 = [1,2,3,4,5,6,7,8]

>>> a,b,*_,c,d = L2 # *_表示将中间不想取的值赋值给"_",此时“_”是个列表

>>> print(a,b,*_,c,d) #打印*_时即将列表“_”中的元素打印出来

1 2 3 4 5 6 7 8

>>> print(a,b,_,c,d)

1 2 [3, 4, 5, 6] 7 8

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

1 2 7 8

>>>

总结:*_这种方式可以帮我们解决解压赋值必须所有元素都取的困扰,_作为变量来使用,也可以用其他字符替代。但这种方式只在python3中有效

4、逻辑运算符: and 、 or 、not,判断条件使用

and :逻辑与,判断左右两个条件,当两个条件任意一个为假时,整体结果为假

>>> print(10 > 2 and "a" > "b")

False

>>>

or:逻辑或,判断左右两个条件,当两个条件任意一个为真时,整体结果为真

>>> print(10 > 2 or "a" > "b")

True

>>>

not:逻辑取反,取条件真假相反的结果

>>> print("a" > "b")

False

>>> print(not "a" > "b")

True

>>>

6、身份运算:is 比较内存地址是否相同 而“”==“”是比较值

>>> x = 10

>>> y = 10

>>> print(x is y)

True

>>> id(x)

140714018137200

>>> id(y)

140714018137200

>>>

注意:变量值相等,内存地址不一定相同,内存地址相同,值一定相等

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。