第一周:初识python

Python涉及不少领域,包括如下方面:python

 一、WEB开发——python有许多优秀的WEB框架,许多的大型网站均是用python开发的,Youtube,豆瓣、知乎、春雨医生等等,其典型的WEB框架有Django、flash等。linux

二、网络编程——Python能够很是方便的完成网络编程的工做,提供了众多的解决方案和模版,能够很是方便的制做出本身的服务器软件,不管是B/S,仍是C/S模式,都有很好的解决方法。android

三、科学运算——python有许多模块能够帮助人们在就算巨型数组、矢量分析、神经网络等方面高效完成工做,具备本身独特的优点。正则表达式

四、GUI图形开发——python能够很是方便的实现GUI编程,经过TKinter、wxPython、OT等模块,就能够根据须要编写出强大的跨平台的用户界面程序。算法

五、运维自动化——OpenStack\SaltStack\腾讯蓝鲸等。数据库

固然python所涉及的领域远不止这些,还有游戏编程、云计算等方面。编程

python的特色以及优缺点数组

python是一种面向对象的解释型计算机程序设计语言,是一门动态解释型的强类型定义语言。它具备简洁性、易读性、可扩展性、丰富的库等特色。浏览器

优势:ruby

简单——python是一种表明简单思想主义的语言。阅读一个良好的python程序就想是在阅读英语同样,固然,要求是会很是严格的。Python这种伪代码本质是它最大的优势之一。它使你可以专一于解决问题而不是去搞明白语言自己。

易学——python很是容易上手,它的语法很简单。

免费、开源——python是FLOSS(自由/开放源码软件)之一。换言之,你能够自由地发布这个软件的拷贝、阅读它的源代码、对它作改动、把它的一部分用于新的自由软件中。这也是python如此优秀的缘由之一——由一群但愿看到一个更加优秀的python的人创造而且常常进行改进。

高层语言——使用python时,无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

可移植性——因为它的开源本质,python已经被移植在许多的平台上(通过改动可使它工做在不一样平台上)。python程序无需修改就能够运行在如下平台上:Linux、Windows、FreeBSD、Macintosh、Solaris、OS/二、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等。

    注意:一、变量的命名尽可能见名知意;

               二、通常不使用中文变量名(拼音也不推荐);

               三、变量名为大写通常表示常量。

用户交互

用户进行输入使用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!")
相关文章
相关标签/搜索