1、eval(input())和int(input())
(1)、input()函数的作用是返回用户输入的值,不管输入的是数字、字母还是其他字符,其返回的值总是一个字符串。
而eval()会去掉字符串最外层的引号。直观理解是:看起来像数字的字符串变成数字了。。。
所以本质上,eval是去一层引号,然后按语句执行,eval(input())本质是一个取输入数字的技巧。
(2)、如果不用eval,怎么取输入的数字?
可以用int, float转数据类型,但效果不如eval。
(3)、eval()函数的作用是将字符串的引号去掉,如果引号里面是一个数字,返回值则是这个数字本身;如果引号里面是运算表达式,返回值就是表达式的运算结果:
如果引号里面是字母,就可能出错:
如果这个字母做了变量,则没有问题:
(4)、对于eval(input()),input隐含会在输入最外层加一层引号,即把输入视为一个字符串,eval隐含会去最外层引号,如果输入的字符串带了引号,则这个引号会保留。
直接输入数字的显示:
加一个引号的显示:
加双引号的显示:
(5)int() 函数的作用是将数字确定(或转换)为整数,也可以将只包含整数的字符串转换为整数:
以下情况不行:
(6)、int(input()) 的作用就是将输入的字符串转换为整数。其实这样的用法就和eval(input())没什么差别了。
2、字符串大小写转换
str.upper() # 把所有字符中的小写字母转换成大写字母
str.lower() # 把所有字符中的大写字母转换成小写字母
str.capitalize() # 把第一个字母转化为大写字母,其余小写
str.title() # 把每个单词的第一个字母转化为大写,其余小写
3、字典的items()方法
字典的items()方法可以将所有的字典项以列表方式返回。
4、运算符is和==的区别
Python中的对象包含三要素:id,type,value。 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值。
is :判断a对象是否就是b对象,用于判断两个变量引用对象是否为同一个,是通过id来判断的。
== : 判断a对象的值是否和b对象的值相等,是通过value值来判断的。