Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

标签: pythonide格式化编码数据
3251人阅读 评论(6) 收藏 举报
分类:

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,大家一起加油吧!

3
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1037932次
    • 积分:13271
    • 等级:
    • 排名:第1130名
    • 原创:211篇
    • 转载:1篇
    • 译文:0篇
    • 评论:896条
    和我一起
    博客专栏
    文章分类