Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化
我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说那么的被动,我学习的是Python2.7,虽然现在随着版本的迁移至Python3,但是这个并不会对我们造成什么困扰,毕竟只是一个适应阶段
我们的学习资料:廖雪峰官方网站Python2.7教程
一.IDE选择PyCharm
我们虽然在前面一章已经配置过,但是我们还是有很多的IDE可以开发Py,比如sublime text,又比如notpad++,其实都是可以的,但是你想找到一款专门用来开发的,就比如Android studio那样等级的开发工具,那我这里就推荐PyCharm不用怀疑,就直接用它了
安装的过程大家就自行百度了,以及配置什么东西之类的,这个也是基于idea来实现的,所有大家应该轻车熟路
二.输入和输出
输出我相信大家应该很熟悉了,这里我列举几个输出,大家一看就会了
print "Hello World!"
print "Hello", "World!"
print 100 + 200
print 100 > 200
print 100 < 200
这样输出的结果可以看到
ok,输出没啥说的,我们来看下输入,输入的话其实py有一个特定的函数,那就是raw_input(),我们来看下实际的案例
name = raw_input("Please enter your name \n")
print "your name : ",name
这句代码的意思很明显,就是提示请输入名字,然后我输入名字之后打印出来,来看下运行
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
raw_input和print是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。这些都是后话了。
三.基础规范
我们来看下官方的一段例子
# print absolute value of an integer:
a = 100
if a >= 0:
print a
else:
print -a
这段代码很简单,一个注释,一个判断语句,在PY中,注释是以#开头
其他每一行都是一个语句,当语句以冒号“:”结尾时,缩进的语句视为代码块。
缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。
缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。
缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。
最后,请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。
四.数据类型和变量,常量
这个和Java其实差不多我们一个个来分析
- 整数
python可以处理任意的整数,也包括附属,1,100 ,-20等,计算机由于是二进制有时候用十六进制表示整数更加的方便,十六进制使用0x前缀和0-9,a-f表示,比如0xff00,0xdf522等
- 浮点数
浮点数也是小数点,之所以叫做浮点数,是因为科学计数法表示时,一个浮点数的小数点位置是可变的,比如1.23x109和12.3x108是相等的。浮点数可以用数学写法,比如1.23,3.14,-9.01等
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
- 字符串
字符串是单引号或者双引号来表示,比如“abc”或者‘abc’
如果字符串在内部也包含了‘’又包含“”,可以用转义符\来标识,比如
print "I\'m OK!"
这样输出
转义字符还有很多,比如\n标识换行,\t标识制表符,\本身就是转义,所有\标识的字符就是\,所以在python的交互命令中用打印可以看
print "Im\OK"
print "Im\\OK"
print "Im\nOK"
print "Im\tOK"
我们来看下输出
可以看出\和\是一样的,\n换行,\t是空格
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r”表示”内部的字符串默认不转义,我们来看下代码
print '\\\t\\'
print r'\\\t\\'
这样的话,我们输出的:
可以看出,首先是双斜杠然后制表符然后又是双斜杠,所以输出\ \,而我们加入了r之后就是不转义,也就是全部输出了
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用”’…”’的格式表示多行内容,我们来看下代码
print '''line1
line2
line3'''
来看下输出
其实这个很好理解,就是前后都是三个点去表示,然后中间就随意换行,反正会格式化就对了
- 布尔值
布尔值就两个,True和False,他和Java不一样的地方在于他是首字母大写。我们来看下
print 100 > 200
print 100 < 200
这样就输出了
这里提到布尔值,那就要说一下他的运算了
and运算是与运算,只有所有都为True,and运算结果才是True:
我们来看下例子
print True and True
print True and False
print False and False
这里我们不难猜出,他的运算结果
or运算是或运算,只要其中有一个为True,or运算结果就是True:
我们来看下例子
print True or True
print True or False
print False or False
运算结果是什么呢?
not运算是非运算,它是一个单目运算符,把True变成False,False变成True:
我们来看下例子
print not True
print not False
你可以把他理解为取反就好了
- 空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
你可以把他理解为Java中的null
- 变量
变量就是假设性的的,比如我们有一道数学题,知道这个正方形的周长为12,那么我们就可以这样去计算
a * 4 = 12
而这个a就是变量
变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:
a = 1
这就表示变量a是一个整数
在python中,等号=是一个赋值的语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:
# a是整数
a = 123
print a
# a变为字符串
a = 'ABC'
print a
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错
最后,理解变量在计算机内存中的表示也非常重要。当我们写:
a = 'ABC'
这个时候python其实干了两件事
- 1.在内存中创建’ABC’的字符串
- 2.在创建一个名为a的变量,并把他指向’ABC’
也可以再把一个变量赋值给另外一个变量,这个操作其实就是讲前面变量指向的字符串指向后面的变量,比如:
a = "ABC"
b = a;
print b
这样毫无疑问是输入ABC
- 常量
所谓的变量就是可变化的量,常量就是不变的,比如π,在Python中,通常用全部大写的变量名表示常量,比如
PI = 5555
print PI
事实上这个PI依旧是个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你,哈哈。
五.字符串和编码
在python中,Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换:
print ord('A')
print chr(65)
我们来看下输出什么
这就是python对ASCII编码的支持,Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u’…’表示,比如:
print u'刘桂林'
如果你需要转码的话,可以这样
print u'ABC'.encode('utf-8')
print u'刘桂林'.encode('utf-8')
如果反码的话,可以用decode
如果你想查看字符串的长度,python有一个len函数支持
print len("ABC")
print len(u"刘某人程序员")
可以看出
其实解决编码的办法也很简单,我们只需要指定编码就好了,在第一行加上
#coding:utf-8
这样就支持中文了
六.格式化
有什么我们会输出一些固定格式的语句,比如
亲爱的xx你好,今天是xxx,你还剩下xx天还款
这个xx就是变化的,在python中,用%去格式化语句,比如:
print '亲爱的%s,你好,今天是%s,你还剩下%d天还款' % ('刘桂林', '2017年4月27日', 3)
我们先来看下输出
是不是就很好理解了,这个类型转义符的替换,后面通过%去接一个口号,括号里对应着要填补的内容
常见的占位符有:
- %d 整数
- %f 浮点数
- %s 字符串
- %x 十六进制整数
如果你不确定是什么,%s永远起作用
其实所谓的编码,还是python的版本问题,这个以后我们学得深入的时候就自然就熟悉了,好了,今天这章到这里就结束了,我们后面也会越来越深入的去学习python,大家一起加油吧!