python简介:
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
python特点:
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力
编译型和解释型:
编译型语言:在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。
优缺点:速度快,不用翻译,底层应用,不跨平台,开发效率低,比如C,C++,Go,swift
解释型语言:是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢
优缺点:跨平台,快速部署,比如ruby,python,php,pel
python环境部署:
http://list.youku.com/albumlist/show?id=28961509&ascending=1&page=1
字符编码介绍:
http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html
引用一个小故事:古代打仗通讯有三种方法,千里马,飞鸽传书,烽火台,就拿烽火台的通讯方法举例子,假如敌人来了,需要在烽火台点狼烟让友军知道有敌人来袭,但是怎么能利用最少的狼烟来精确的表示共有多少个敌人来袭,让友军知道好派相应的人数来支援。
备注:0表示不点,1表示点狼烟
由上表可以看出,可以用8根狼烟就能准确的代表1~256个人,以此类推。
9根可以表示2的9次方个敌人约为512人
10根可以表示2的10次方个敌人约为1024个
15根可以表示2的15次方个敌人约为32768个人
16根就可以表示六万多人~~~~
ASCII字符代码表:
、
十进制:128 64 32 16 8 4 2 1
二进制:1 1 1 1 1 1 1 1 1
换算说明:8位等于1字节,1字节就可以存1个accii码。
举例说明:
十进制48表示的符号是数字0,二进制的表示就是:00110000
十进制55表示的符号是数字7,二进制的表示就是:00110111
那么007在计算机语言的表示就是001100000011000000110111
python基础语法:
Window上在安装Python时已经已经安装了默认的交互式编程客户端,快捷键,idle,提示窗口如下:
练习:
【字符串】
>>> name = "lijun"
>>> name
'lijun'
>>> name[0]
'l'
>>> name[0:3]
'lij'
>>> name[0:4] //顾头不顾尾
'liju'
>>> name
'lijun'
>>> age
23
>>> msg="my name is %s and i am %s years old" //空出变量名:%s
>>> msg
'my name is %s and i am %s years old'
>>> msg="my name is %s and i am %s years old" % (name,age)
>>> msg
'my name is lijun and i am 23 years old'
【列表】
>>> names = []
>>> names
[]
>>> names = ["chenlijun","liyongsan","panglicai"] //设置列表
>>> names
['chenlijun', 'liyongsan', 'panglicai']
>>> names[1] //显示列表第二个名
'liyongsan'
>>> names[1]="fanyafeng" //修改列表第二个名字
>>> names
['chenlijun', 'fanyafeng', 'panglicai']
>>> names.append("yongsan") //列表增加一个
>>> names
['chenlijun', 'fanyafeng', 'panglicai', 'yongsan']
>>> names.insert(1,"lijun") //在列表第二个前插入lijun
>>> names
['chenlijun', 'lijun', 'fanyafeng', 'panglicai', 'yongsan']
>>> del names[1] //删除列表第二个名字
>>> names
['chenlijun', 'fanyafeng', 'panglicai', 'yongsan']
>>> names.remove("panglicai") //删除指定的名字
>>> names
['chenlijun', 'fanyafeng', 'yongsan']
>>> names.index("yongsan") //查找列表yongsan的序列号
2
>>> names[2]="liyongsan" //根据序列修改名字
>>> names
['chenlijun', 'fanyafeng', 'liyongsan']
>>> names[names.index("chenlijun")]="lijun" //修改名字,套用变量
>>> names
['lijun', 'fanyafeng', 'liyongsan']
>>> names.append("lijun")
>>> names
['lijun', 'fanyafeng', 'liyongsan', 'lijun']
>>> names.count("lijun") //计数重复的名字
2
>>> names.sort() //排序
>>> names
['fanyafeng', 'lijun', 'lijun', 'liyongsan']
>>> names
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4', '!']
>>> names[:5]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names[:3]
['liyongsan', 'lijun', 'lijun']
>>> names[:-1]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names[0:-1]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4', '!']
>>> names[0:-1:1]
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4']
>>> names[0:-1:2]
['liyongsan', 'lijun', '4']
>>> names
['liyongsan', 'lijun', 'lijun', 'fanyafeng', '4', '!']
【打印输入的内容】
name = input("name:")
age = input("age:")
job = input("job:")
info = '''-----personal info-------
NAME:%s
AGE:%s
JOB:%s
''' %(name,age,job)
print(info)