一、输入输出
print()
# input()
'''
输入函数input(),用于程序从控制台读取用户输入的数据(通常在括号内编写提示语句,告诉用户要怎么做)。它能够暂停程序的进程,等待用户完成输入动作
(一般输入完成后点击回车键视为完成输入动作)之后在运行余下的代码。通常将input()函数的返回值赋给一个变量,方便后续对该数据进行使用。
'''
# name = input("请输入你的姓名:")
# print(name)
'''
值得注意是,input()函数的默认返回值的数据类型默认为字符串类型(str),也就是说不管你输入的是数值,列表,元组等等其它数据类型,input()都会
将你输入的数据包装成字符串返回。如果想要input()返回值为其它类型,就需要将其进行数据类型的转换。
'''
# age = input("请输入你的年龄:")
# print(age, type(age))
# print(int(age))
# age = int(input("请输入你的年龄:"))
# print(age, type(age))
# print()
'''
输出函数print(),用于输出打印内容到控制台或其他设备。print()可以同时接受多个参数,参数之间用逗号”,“分开。print()通过修改其end参数的值,
可以实现一个print()语句中的多个参数进行换行输出,修改sep参数的值可随意实现同一print()语句内的参数之间的连接方式。
'''
# name = "曾巩"
# age = 22
# do = "入太学"
# print(name, age, do)
# print(name, age, do, sep="--")
# print(name, age, do, sep="\n")
# print()中关于字符串的格式化输出,格式化输出即将变量的值按照特定的格式进行输出。
'''(1)占位符 %+数据类型(如%d,%f,%s...)'''
# name = "李白"
# age = 62
# print("我最喜欢的诗人是%s。" % name)
# print("ta享年%d岁。" % age)
'''(2)方法format(),该方法将字符串中的{}替换成参数所对应的值。方法format()的参数是有序号的,从0开始,从左至右递增1。
该方法的参数还可以指定实参,但书写较麻烦,只在特定情况下使用。'''
# name = "李白"
# age = 62
# print("我最喜欢的诗人是{},ta享年{}岁。".format(name, age))
# print("我最喜欢的诗人是{1},ta享年{0}岁。".format(age, name))
# print("我最喜欢的诗人是{name},ta享年{age}岁。".format(name=name, age=age))
'''(3)f语句——>f""。语法最为简单,使用很广泛。 '''
# name = "李白"
# age = 62
# print(f"我最喜欢的诗人是{name},ta享年{age}岁。")
# 拓展:还可以在{}里添加参数进一步确定格式。
# PI = 3.1415926
# print(f"圆周率约等于{PI:.2f}")
二、数据类型转换
# 数据类型转换
# python中通过内置函数对数据类型进行转换。常见的有:
'''(1)int(x),将数据x转换为数值类型中的整形。当x为字符串时,字符串的内容必须为整形数值,否则无法将数据x的类型进行转换。'''
a = 3.14
b = "101"
c = "101.2"
# print(int(a))
# print(int(b))
# print(int(c))
'''(2)float(x),将数据x转换为数值类型中的浮点形。当x为字符串时,字符串内容需为数值,否则无法将数据x的类型进行转换。'''
# print(float(b))
# print(float(c))
'''(3)str(x),将数据x转换为字符串类型。'''
# m = str(a)
# print(str(m), type(m))
# pi = [3, '.', 1, 4, 1, 5, 9, 2, 6]
# n = str(pi)
# print(str(n), type(n))
'''(4)eval(x),x必须为字符串类型,将x字符串中的数据转换为python表达式中原来的类型。'''
print(eval(c), type(eval(c)))
print(eval(b), type(eval(b)))
'''(5)其他——tuple(),dict(),set()......方法同上,后续用到详解。'''
三、运算符
# 运算符
# python中常用的运算符有:
'''1.数值运算符:+(加),-(减),*(乘),/(除),//(整除),%(求余),**(乘方),()(优先级)等,
其中‘/’(除法运算)返回结果默认为浮点型。'''
a = 2
b = 10
c = 5
# print(a + c, c - a, a * c, b / a, c // a, c % a, c ** a, (a + b) * c, sep="--")
'''2.复合运算符:+=,-=,*=,/=,//=,%=,**=。
a+=x-->a=a+x,其他复合运算符运算过程同理,把运算符号改成对应的即可。如前所见,a+=x-->a=a+x.复合运算符简化
了一个运算等式的书写过程,所以形如a+=x,作为复合运算的等式,是不可以当作"print(a+=x)"(错误示范)的实参进行输出的'''
a += 3
c -= 2
b *= a
# print(a, b, c)
'''3.逻辑运算符:and or not。逻辑运算表达式的运算结果为布尔型(False和True)。
在数值中,除了0,00,000,...,0...0表示False,其他表示True。'''
# print(1 > 2 and (5 * 2) == 6) # and 两边任意一个为假,输出False,否则输出True
# print(1 < 2 or 2 == 3) # or 两边任意一个为真,输出True,否则输出False
# print(not 1 < 2) # not 取反,取表达式结果的相反值,True-->False,False-->True.
'''4.赋值运算符:=。赋值顺序:等号右边的值赋给左边。赋值允许同时多个变量赋值,多个变量赋同一个值。'''
# a, b, c = 56, 32, 88
# d = e = f = 60
# print(a, b, c)
# print(d)
'''5.比较运算符:>,<,!=,>=,<=,==
比较运算表达式的运算结果为布尔型,不为True,即为False'''
# print(3 >= 3, 6 != 4, 3 < 2)
'''6.成员运算符:in和not in
通常用于判断特定值是否在特定对象中。判断的依据是用值作比较。'''
# li = [1, 3, 5, 7, 9]
# print(5 not in li)
# print(5 in li)
'''7.身份运算符:is和 not is
判断两个特定值是否为同一对象,判断依据是特定值的内存地址。
两变量指向同一对象,这两个变量的内存地址相同。'''
# a = 5
# b = 5
# print(id(a), id(b))
# print(a is b)
# a = 3
# print(id(a), id(b))
# print(a is b)
'''拓展--短路原则:短路原则是指在逻辑运算中,如果表达式的值已经可以确定,那么就不会再计算剩余部分的值,从而提高运算效率。
在Python中,有两种常见的逻辑运算符支持短路原则,分别是and和or。
1.对于and运算,在左侧表达式的值为False时,整个表达式的值已经可以确定为False,就不会计算右侧表达式的值。
只有在左侧表达式的值为True时,才会计算右侧表达式的值,最终表达式的值为右侧表达式的值。
2.对于or运算,在左侧表达式的值为True时,整个表达式的值已经可以确定为True,就不会计算右侧表达式的值。
只有在左侧表达式的值为False时,才会计算右侧表达式的值,最终表达式的值为右侧表达式的值。
'''
# a = 0
# b = 1
# print(a == 1 and b)
# print(b and a == 0)
# print(b or a)
# print(a or b)