python最基本须知
- 数组索引从0开始
- 单双引号通用
- 对大小写敏感
- 注释使用 #
目录
一、输入
input() 函数接受一个标准输入数据,返回为 string(字符串) 类型
哪怕是输入数字,也认为是string类型,所以很多时候可能需要类型转化
1、输入类型转换
# 输入参数,判断类型
s = input()
print(type(s))
# 将s转化为浮点型
s = float(s)
print(s)
print(type(s))
运行结果:
33
<class 'str'>
33.0
<class 'float'>
也可以使用map函数来映射
map(func, lst) 将传⼊的函数变量 func 作⽤到 lst 变量的每个元素中,并将结果组成新的列表返回
x, y, z = map(int, input().split()) # 将所有输入转化为整值
print(type(x))
print(type(y))
结果
1 2 3
<class 'int'>
<class 'int'>
也可以使用eval函数还原数据类型
# eval函数,还原输入数据
x = input()
print(type(x))
y = eval(input())
print(type(y))
z = eval(input())
print(type(z))
print(type(z[0]))
运行结果
2
<class 'str'>
3
<class 'int'>
[1,2,3,4]
<class 'list'>
<class 'int'>
2、多值输入
a. 如果是按行输入(输一个回车一次),可以使用多个input
x = input()
y = input()
print(x + y)
结果
2
3
23
b. 如果是一行输入,中间使用分隔符,使用split函数切割
用法:split(str="", num=string.count(str))[n] str——分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num——分割次数,默认为 -1, 即全部分割。 [n]:表示选取第n个分片 返回值是分割后的字符串列表 注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
例子:
# 按空格输入多个值
list = input().split()
print(list)
# 按逗号输入多个值
list = input().split(',')
print(list)
# 只分割1次,形成两个字符串
list = input().split(',',1)
print(list)
# 只分割2次,取出第一个值
l = input().split(',',1)[0]
print(l)
结果:
2,3 4 5
['2,3', '4', '5']
2,3 4,5
['2', '3 4', '5']
22,33,44,55
['22', '33,44,55']
22,33,44,55
22
二、多行输出
1、使用两个print
s1 = 'I love you!'
s2 = 'Why?'
print(s1)
print(s2)
结果
I love you!
Why?
2、使用print函数参数
print(s1, s2, sep='\n')
结果
I love you!
Why?
3、使用3个双引号
print("""I love you!
I love you!
I love you!
I love you!""")
结果
I love you!
I love you!
I love you!
I love you!
4、使用格式化输出与转义字符
print(f'{s1}\n{s2}')
结果
I love you!
Why?
补充:常见转义字符
格式相关:
\n:换行符
\t:水平制表符,相当于四个空格
\\:打印出\,因为\在这些语言中有特殊含义,所以想要打印出\需要加\
\r:回车,光标移到本行开头
例子:
print(f'{s1}\n{s2}') print(f'{s1}\t{s2}') print(f'{s1}\\{s2}') print(f'{s1}\r{s2}')
输出:
I love you!
Why?
I love you! Why?
I love you!\Why?
Why?进制相关
\0: 八进制形式的编码值
\x: 十六进制形式的编码值,十六进制形式才能表示所有 ASCII 字符
print('\061') print('\x61')
结果:
1
a
三、格式化输出
1、输出保留指定位数的小数
参考:参考链接
下面的代码将学到的几种方式都实现了一下
f = 1.2345678
# ’%.2f’ %f 方法(会进行四舍五入)
print('%.2f' % f)
print('%.4f' % f)
# format函数(会进行四舍五入)
print(format(f, '.2f'))
print(format(f, '.4f'))
# round()函数(舍入有点乱,尽量少用)
print(round(f,4))
print(round(2.5)) # 答案为2,可见并非是简单的四舍五入
# 不进行四舍五入的方法
# 可以放大指定的倍数,后取整,然后再除以指定的倍数(没有四舍五入)
# 也可以进行字符串截取
print(int(f * 10000) / 10000)
运行结果
1.23
1.2346
1.23
1.2346
1.2346
2
1.2345
2、输出字符串
可以有多种方式
name = 'Amy'
print(f'{name} loves Tom!') # f格式化语句
print('%s loves Tom!' %name) # 类似c的一种语句
print(name + ' loves Tom!') # 字符串拼接
结果如下
Amy loves Tom!
Amy loves Tom!
Amy loves Tom!