Python的基础概念
2017-01-18
- Python的创始人吉多·范罗苏姆,1991年第一个版本,1999年第一个外部框架,2004年诞生目前最流行的WEB框架Django
- Python应用领域:云计算、WEB开发、科学运算/人工智能、系统运维、金融、图形GUI
- Python应用广泛的公司:谷歌、CIA、NASA、YouTube、Instragram、Facebook、Redhat、豆瓣、知乎等
- 编程语言分类:编译型、解释型、静态语言、动态语言、强类型语言和弱类型语言
- 编译型:一次把代码都转换成机器语言,然后写成可执行语言
- 解释型:每执行到源代码某个指令的时候,就将代码转换成二进制代码进行执行
- 静态语言:写程序的时候需要声明所有变量的数据类型
- 动态语言:赋值的时候已经在内部将数据类型记录
- 强类型:一旦指定数据类型,不经过强制转换就永远是这个类型
- 弱类型:数据类型可以被忽略
Python是动态解释型的强类型定义语言
- 使用Python的优点:简单易懂;开发效率高,拥有强大的第三方库,多模块支持;是一种高级语言,无需考虑内存一类的底层细节;具有可移植性,开源的,可以移植在不同平台使用;具有可扩展性,某些部分可以用C或者C#来写;具有可嵌入型,可以把Python嵌入到C/C++中。
- 使用Python的缺点:速度慢;代码默认不能加密;线程不能用多CPU。
PYTHON解释器版本
- Cpython:使用C语言开发的,最常用的Python2.7,开发者可以支持到2020年。提示符:>>>
- Ipython:基于Cpython,在交互式上有所增强,提示符:In[1]
- PyPy:采用JIT技术,对Python代码进行动态编译,提高执行速度
- Jpython:运行在JAVA平台,可以把Python编译成Java
- Ironpython:运行在微软、NET平台,可以把Python编译成.net字节码
如果需要和Java或者.NET进行交互,推荐通过网络调用的方式,确保程序间的独立性
字符编码
- 默认ASCII编码,最多8位1个字节,最多可表示255个符号。Python2默认编码,不支持中文。
- 1980年GB2312,可支持72*94=6768个中文字符,常用于MP3、手机
- 1995年GBK1.0,可支持21886个符号
- 2000年GB18030,可支持28484个汉字
- Unicode,统一码、万国码,最少16位(2个字节)
- UTF-8,对Unicode进行压缩和优化:英文1个字节,汉字3个字节,欧洲2个字节。Python3默认编码支持中文。
可以在第一行声明字符集:
# -*- coding : utf-8 -*-
小程序练习
1 print ("Hello world!")
数值型:age=int(input("age:"))
字符型:name=str(input("name:"))
name=input("name:")
age=input("age:")
info = '''
-----info of %s----
name:%s
age:%s
'''%(name,name,age)
print(info)
1 name=input("name:")
2 age=input("age:") 3 info = ''' 4 -----info of {_name}---- 5 name:{_name} 6 age:{_age} 7 '''.format(_name=name,_age=age) 8 print(info)
1 _usrname= "david"
2 _password="abc123"
3 usrname=input("name:")
4 password=input("password:") 5 if usrname ==_usrname and password ==_password: 6 print("welcome {name} login...".format(name=usrname)) 7 else : 8 print("Invalid usrname or password!")
1 count =0
2 for i in range (10): 3 while count <3 : 4 print (i) 5 i +=2 6 count +=1
1 _age=12
2 count=0
3 while count <3 : 4 age =int(input("age:")) 5 if age ==_age : 6 print("yes,you are right") 7 break 8 elif age>_age : 9 print("{ages} is too big,think smaller!".format(ages=age)) 10 else : 11 print("{ages} is too small,think bigger!".format(ages=age)) 12 count+= 1 13 if count==3: 14 continue_confirm=input("will you go on?") 15 if continue_confirm=="y" : 16 count=0 17 else: 18 print("ok,you have tried too much")
1 for i in range(1,10,3) : 2 print (i)