我的Python学习之路 Python的输入输出与基本数据类型
*** python中的变量不需要事先声明再使用,而可以直接来一个变量名,后面一个赋值,接着一个数据值,如 hw = "hello python",相当于Python能智能的根据你后面变量的值而自动判断你的数据类型。这就是Python的魅力之一,简洁!
一、基本数据类型
1.整型 int
1.1长整型 long 基本合并为int 因此,在Python 中,int表示的范围比C语言表示的范围大的多
2.浮点型 float
小数,与c语言中float差别不大
3.字符串
与c语言有些差别,c语言中字符有2种:单字符char,字符串。而在Python中只有一种,用单引号或者双引号包含表示,如“python”或者‘python’
注意的是,表示字符串类型必须要有引号!并且对大小写要求严格!
3.1格式化字符串
常用的格式化字符串有:
1、%d 格式化整数
2、%o 格式化无符号八进制数
3、%x(X) 格式化无符号十六进制数(大写)
4、 %f 格式化浮点数字,可指定小数点后的精度
5、 %p 用十六进制数格式化变量的地址
6、%s 格式化字符串
3.2转义字符
常用的转义字符有:
1、/n 换行符
2、\r 回车符
3、\o 八进制数代表的字符
4、\x 十六进制数代表的字符
5、\' 单引号
6、\" 双引号
字符\
本身也有转义,所以\\
表示的字符就是\
特别地:打印文件路径时,用转义的方法太复杂,引入一个原始字符串,如:
print r"C:\Program Files (x86)\Microsoft Office\Office"
==> C:\Program Files (x86)\Microsoft Office\Office
原始字符串,以r开头,后面跟上一个字符串,输出的内容就是字符串原文。但原始字符串最后一个字符不能是反斜线!!!
转义字符别太纠结,一般不会有人吃饱了没事去给你整一堆转义字符让你去弄明白
3.3字符串的几个函数
str(): 转化为字符串 print str(10000L)==>10000
repr(): 创建一个字符串 print repr(10000L)==>10000L
` `: 反引号 打印包含数字的字符串(字符串+数字) + `number`,功能与repr()一样
4.布尔值
与c语言差不多,一个布尔值只有True
、False
两种值,要么是True
,要么是False(注意单词,必须完全一样)
4.1布尔运算
布尔值可以进行and
、or
和not
运算,对应逻辑运算中的与(&)、或(|)、非(¬)
5.空值
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,后面章节再说。
二、输出与输入
1.输出函数print
print函数:打印函数,print(),在使用中可省略后面的一对括号,如代码:print “python” 与 print ("python") 效果一致
注意事项:
情况1.
print函数后面可以接变量、字符串,当后面接字符串,即想打印字符串时,切记别忘了加上引号(提醒Python解释器,我想打印的类型是字符串)
情况2.
1 #print函数格式化输出多个变量例子 2 my_name = 'Zed A. Shaw' 3 my_age = 35 4 my_height = 74 5 my_weight = 180 6 my_eyes = 'Blue' 7 my_teeth = 'White' 8 my_hair = 'Brown' 9 print "Let's talk about %s." % my_name 10 print "He's %d inches tall." % my_height 11 print "He's %d pounds heavy." % my_weight 12 print "Actually that's not too heavy." 13 print "He's got %s eyes and %s hair." % (my_eyes, my_hair) 14 print "His teeth are usually %s depending on the coffee." %my_teeth 15 print "If I add %d, %d, and %d I get %d." % (my_age, my_height, my_weight, my_age + my_height +my_weight)
print函数格式化输出变量参数时与c语言有异曲同工之处,前面参数用格式化字符串表示如%d,后面则对应的%参数名。多个参数时,提取#后面用()包含参数名,参数名之间用逗号分隔。
情况3.
1 print '100 + 200 =', 100 + 200
情况4.
当遇到print函数要打印的内容跨了多行
将引号改为三引号即可,""" """
如果一行之中,最后一个字符是反斜线,效果也是代码跨行,常用于表达式和语句。 如:
printf 1+2\
4+5
==>12
总结:
python在遇到print函数时,遇到变量名或者表达式时,输出直接显示该变量的值或者表达式的结果;遇到字符串开头的左引号后,出现普通字符照搬下来;遇到格式化字符串时,如%d,向后面找匹配的 %参数名,找到该参数的值,替代 %d;直到碰到右引号后,如果后面还有逗号 (",") ,重复以上操作直到后面没有东西。
2.输入函数
2.1 input函数
input() :接受一个标准输入数据,返回为string类型,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError (语法错误)
自己敲的是什么类型数据就是什么类型数据
个人感觉使用上与c语言中scanf()函数有一点点相似,不过更智能,不需要指定匹配
2.1 raw_input函数 【常用】
将所有输入作为字符串看待,返回字符串类型。
自己敲的是什么类型数据就是什么类型数据
Tip:
1 age = raw_input("How old are you? ") 2 height = raw_input("How tall are you? ") 3 weight = raw_input("How much do you weigh? ") 4 print "So, you're %r old, %r tall and %r heavy." % (age, height, weight)
raw_input() ,包括input(),你还可以让它显示出一个提示,从而告诉别人应该输入什么东西。你可以在 () 之间放入一个你想要作为提示的字符串。
三、Python注释
1.Python单行注释(#)
井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当成是注释,变绿。
2.批量、多行注释符号
在python中也会有注释有很多行的时候,这种情况下就需要批量多行注释符了。多行注释是用三引号''' '''包含。
3.python中文注释方法
在python编写代码的时候,避免不了会出现或是用到中文,这时候你需要在文件开头加上中文注释。
#coding=utf-8
或者:
#coding=gbk
四、谈谈运算符优先级
+ plus 加法
- minus 减法
/ slash 整除 *** // 双斜线表整除
* asterisk 乘法
% percent 取余
< less-than 小于
> greater-than 大于
<= less-than-equal 小于等于
>= greater-than-equal 大于等于
1 #运算符优先级 2 print "I will now count my chickens:" 3 print "Hens", 25 + 30 / 6 4 print "Roosters", 100 - 25 * 3 % 4 5 print "Now I will count the eggs:" 6 print 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6 7 print "Is it true that 3 + 2 < 5 - 7?" 8 print 3 + 2 < 5 - 7 9 print "What is 3 + 2?", 3 + 2 10 print "What is 5 - 7?", 5 - 7 11 print "Oh, that's why it's False." 12 print "How about some more." 13 print "Is it greater?", 5 > -2 14 print "Is it greater or equal?", 5 >= -2 15 print "Is it less or equal?", 5 <= -2
分析:
第3行:猜想优先级 / > + 25+30/6 ==>25+5=30
第4行:猜想优先级 * % > - 100-25*3%4 ==> 100-75%4 ==>100-3=97
第8行:猜想优先级 < > + - 但仔细想想 2<5 结果应该为True,如果这样的话还后面就不能继续计算了
所以, 猜想优先级 < < + -
结果:
总结:上述运算符优先级 最高:* / % 次之:+ - 最低: < > 且结果只能为True或者False
文中如果有错误还请各位大大帮忙指出,毕竟错误使人进步嘛^_^