多个变量赋值方式:
inta, Str, Doub = 3, "Hello", 3.14
print(inta, Str, Doub)
结果如下:
字符串类型
第一:字符串的使用
字符串是用一对大括号(或小括号)括起来的字符内容,可以表示输入提示符和输出信息,也可表示转义字符。编译器对字符串的处理方式是:去掉最外层的一对引号并且执行引号里面的内容语句(当作正常的python语句执行)。
第一:字符串的索引
字符串的索引遵循正向递增 & 反向递减的规则
如何对字符串进行随机访问呢?直接索引访问:
Str = "Love"
print(Str)
print(Str[2])
print(Str[2: 3])
print(Str[2: 2])
print(Str * 2)
print(Str + "You!")
输出结果如下:
上述结果说明了什么呢???
第二:字符串的运算
拼接:
我们直接让:字符串1 + 字符串2 = 拼接后的字符串
或者是让:字符串1 * n = 字符串1自我复制了n倍
裁剪:
我们可以直接在 [] 内进行裁剪:比如 Str[a: b] = 从第a个字符开始到第(b-1)个字符处结束,把这一段取出来!
第三:转义字符
Python 使用反斜杠()转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
第四:几个注意事项:
这貌似说明了:python中的字符串是常量,我们来实验一下:
Str = "Love"
Str = Str + "666"
print(Str)
Str[2] = "n"
print(Str)
由此可以说明:字符串固有的内容不能被改变,但是可以添加一些内容。
列表类型
这里不做太多说明,列表的含义其实就是一个数组(多维数组就是列表的嵌套),列表由 方括号 [] 和 逗号 , 完成,逗号是为了分隔列表元素。和字符串一样,其实都是一种数组,所以也允许下标随机访问和分割,也可用 + 运算符做连接操作。
比如实例:
Info = ["张三", "李四", "王五", "谢六"]
print(Info[2])
NewInfo = [["张三", "18001", "96"], ["李四", "18002", "98"], ["王五", "18003", "99"]]
print(NewInfo[:1])
print(Info + NewInfo)
其他的几个数据类型一起说
具体的我们放到后面去具体学习,我们先来总体看看几个数据类型:
元组:这个是python特有的,其实就是数据库里的元组一个概念,和列表很像,但是区别就是元组的已有内容是不允许修改的!
字典:其实就是映射,以这种格式:key : value 来表示键值对……
第一道训练题:
AC代码:
Str = "Hello World"
cmd = input()
if 0 == int(cmd):
print("Hello World")
elif 0 < int(cmd):
print("He\nll\no \nWo\nrl\nd")
else:
for i in range(len(Str)):
print(Str[i])
在训练题中学 eval()函数
eval()函数的功能是真的强大!!!我们来学习一下:
eval()函数的功能:
执行一个字符串表达式返回计算的值
也就是说,我们传入的是一个字符串,但是我们的eval()函数可以把外侧的引号除去,保留原有的表达式性质。也就是说我们传入的字符串,如果除去引号是一个数字,那么就会返回这个数字,比如:“1000” -> 1000;如果除去引号是一个表达式,我们就会得到表达式计算的值,比如:“100 + 20” -> 120;如果除去引号是一个函数计算式,我们也会得到函数计算式的值,比如:“pow(2, 3)” -> 8!
实践:
CalStr = input()
print("计算的结果是:{:.2f}".format(eval(CalStr)))
分析一下具体用途:
如果我们输入的字符串既有数字又有其他字符,我们可以用这个函数来提取数字部分并且得到想要的格式(不过这个在c++中也有方法代替!)
更为重要的是:我们可以处理函数计算表达式,比如,还是上一段代码:
课后编程练习:
题1:
AC代码:
TemStr = input()
if TemStr[-1] in ['F', 'f']:
C = (eval(TemStr[0: -1]) - 32) / 1.8
print("{:.2f}".format(C) + "C")
elif TemStr[-1] in ['C', 'c']:
F = eval(TemStr[0: -1]) * 1.8 + 32
print("{:.2f}".format(F) + "F")
else:
print("输入格式错误")
题2:
AC代码:
Map = {'0': '零', '1': '一', '2': '二', '3': '三', '4': '四', '5': '五', '6': '六', '7': '七', '8': '八' , '9': '九'}
TexStr = input()
for i in range(len(TexStr)):
print(Map[TexStr[i]], end="")
题3:
AC代码:
TemStr = input()
if TemStr[0] in ['F', 'f']:
C = (eval(TemStr[1:]) - 32) / 1.8
print("C" + "{:.2f}".format(C))
elif TemStr[0] in ['C', 'c']:
F = eval(TemStr[1:]) * 1.8 + 32
print("F" + "{:.2f}".format(F))
else:
print("输入格式错误")
题4:
AC代码:
TemStr = input()
if TemStr[0:3] == "USD":
RMB = eval(TemStr[3:]) * 6.78
print("RMB{:.2f}".format(RMB))
else:
USD = eval(TemStr[3:]) / 6.78
print("USD{:.2f}".format(USD))
结束了……第一章的学习
虽说确实是简单,但是python和matlab和c++又各有些不同之处……这次的练习相当简单,权当熟悉基本语法咯,上次玩爬虫还挺好玩,虽然做的不咋地(某大佬还在为我踩坑),但是python我觉得还是相当有必要学习的,毕竟现在是AI的时代,以后研究ML和DL总不可能还是停留在推推式子为乐趣的模样吧!