Python涉及很多领域,包括以下方面:
1、WEB开发——python有许多优秀的WEB框架,许多的大型网站均是用python开发的,Youtube,豆瓣、知乎、春雨医生等等,其典型的WEB框架有Django、flash等。
2、网络编程——Python可以非常方便的完成网络编程的工作,提供了众多的解决方案和模版,可以非常方便的制作出自己的服务器软件,无论是B/S,还是C/S模式,都有很好的解决方法。
3、科学运算——python有许多模块可以帮助人们在就算巨型数组、矢量分析、神经网络等方面高效完成工作,具有自己独特的优势。
4、GUI图形开发——python可以非常方便的实现GUI编程,通过TKinter、wxPython、OT等模块,就可以根据需要编写出强大的跨平台的用户界面程序。
5、运维自动化——OpenStackSaltStack腾讯蓝鲸等。
当然python所涉及的领域远不止这些,还有游戏编程、云计算等方面。
python的特点以及优缺点
python是一种面向对象的解释型计算机程序设计语言,是一门动态解释型的强类型定义语言。它具有简洁性、易读性、可扩展性、丰富的库等特点。
优点:
简单——python是一种代表简单思想主义的语言。阅读一个良好的python程序就想是在阅读英语一样,当然,要求是会非常严格的。Python这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
易学——python非常容易上手,它的语法很简单。
免费、开源——python是FLOSS(自由/开放源码软件)之一。换言之,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。这也是python如此优秀的原因之一——由一群希望看到一个更加优秀的python的人创造并且经常进行改进。
高层语言——使用python时,无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
可移植性——由于它的开源本质,python已经被移植在许多的平台上(经过改动可以使它工作在不同平台上)。python程序无需修改就可以运行在以下平台上:Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian以及Google基于linux开发的android平台。
解释性——一个编译性语言如C或C++写的程序可以从源文件(即C或C++)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当运行程序时,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。二python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,python解释器把源代码转换成为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。由于无需考虑如何编译程序,如何确保连接正确的库等等,这一切使得使用python更加简单。所以,由于只需要把你的python程序拷贝到另外一台计算机上面,就可以工作,这也使得python程序更加容易移植。
面向对象——python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向“对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和JAVA相比,python以一种非常强大又简单的方式实现面向对象编程。
可扩展性——若需要一段关键代码运行得更快或者希望某些算法不公开,可以把部分程序用C或者C++编写,然后在python程序中使用。
可嵌入性——可以把python嵌入C/C++程序中,从而向程序用户提供脚本功能。
丰富的库——python标准库确实庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI、Tk和其他与系统有关的操作。只要安装了python,所有的功能都是可以使用的。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等。
概括——它合理地结合了高性能与使得编程简单有的特色。
规范的代码——python采用强制缩进的方式使得代码具有极佳的可读性。
缺点
速度慢——运行速度相较于其他语言比较慢。但是对于用户来说,机器上运行的速度是可以忽略的,因为用户根本感觉不到这种速度的差异。
架构选择太多——没有像C#这样的官方.net架构,也没有像ruby由于历史短,架构开发的相对集中。
变量
(1)变量的命名规则:
1)变量名长度不受限制,但是只能是数字、字母、下划线,而不能使用空格、连字符、标点符号、引号或者其他字符,并且不能以数字开头。
2)变量名区分大小写
3)不能将python关键字用作变量名,包括and、as、assert、break、class、continue、 def、elif、else、except、exec、finally、for、from、global、if、import、in 、 is、lambda、not、or、pass、print、return、try、while、yield等。
注意:1、变量的命名尽量见名知意;
2、一般不使用中文变量名(拼音也不推荐);
3、变量名为大写一般表示常量。
用户交互
用户进行输入使用input(“内容”),并对输入的内容进行格式化的输出。当输入密码要进行加密时使用getpass,用法psw=getpass.getpass("密码:"),当然,使用前要import getpass。三个单引号或者三个双引号包含的内容可以多行是注释也可以是多行打印。
交互、输出格式化方法一
# name = input("name:")
# age = input("age:")
# job = input("job:")
# salary = input("salary:")
# info = '''
# ~~~~~~~~~info of %s~~~~~~~
# Name:%s
# Age:%s
# Job:%s
# Salary:%s
# '''%(name,name,age,job,salary)
# print(info)
#交互方法二
# name = input("name:")
# age = int(input("age:"))
# print(type(age))
# job = input("job:")
# salary = input("salary:")
# info = '''
# ~~~~~~~~info of{_name}~~~~~~~~~
# Name:{_name}
# age:{_age}
# job:{_job}
# salary:{_salary}
# '''.format(_name=name,_age=age,_job=job,_salary=salary)
# print(info)
#交互方法三
name = input("name:")
age = int(input("age:"))
print(type(age))
job = input("job:")
salary = input("salary:")
info = '''
~~~~~~~~info of{0}~~~~~~~~~
Name:{0}
age:{1}
job:{2}
salary:{3}
'''.format(name,age,job,salary)
print(info)
循环
while循环的使用:
count = 0
while count < 3:
age_of_boy = 56
guess_age = int(input ("guess_age:"))
if guess_age == age_of_boy:
print("you get it!")
break
elif guess_age > age_of_boy:
print("think smaller!")
else:
print("think bigger!")
count+=1
else:
print("you have tried too many times!")
注意:while在python中的使用有别与其他的语言的一点是它可以与else搭配使用,有点if_else的感觉。
for的使用:
# for i in range(10): #1到10的循环,默认从0开始;range(1,10)表示1到10
# print("loop",i)
上述while中的例子用for循环的效果如下:
# age_of_boy = 56
# count = 0
# for count in range(3):
# guess_age = int(input("guess_age:"))
# if guess_age == age_of_boy:
# print("you get it!")
# break
# elif guess_age > age_of_boy:
# print("think smaller!")
# else:
# print("think bigger!")
# else:
# print("you have tired too many times....")
条件判断if_else用法:
if 条件(包含两个条件时中间用and或or连接) :print()
else:print()
代码例子如下:
age_of_boy = 56
guess_age = int(input ("guess_age:"))
if guess_age == age_of_boy:
print("you get it!")
elif guess_age > age_of_boy:
print("think smaller!")
else:
print("think bigger")
注意:python代码编写是特别注重缩进编写规范,比如代码缩进等。
练习:猜年龄游戏,最多猜三次退出。
#for的使用 age_of_boy = 56 count = 0 for count in range(3): guess_age = int(input("guess_age:")) if guess_age == age_of_boy: print("you get it!") break elif guess_age > age_of_boy: print("think smaller!") else: print("think bigger!") else: print("you have tired too many times....") #while的使用、 count = 0 while count < 3: age_of_boy = 56 guess_age = int(input ("guess_age:")) if guess_age == age_of_boy: print("you get it!") break elif guess_age > age_of_boy: print("think smaller!") else: print("think bigger!") count+=1 else: print("you have tried too many times!")