day01 初识Python

Python是什么:python

  首先,Python 是一门编程语言。这里是Python 的官网: https://www.python.org程序员

  下面是维基百科的解释:web

  Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象、直译式的计算机程序语言,具备近二十年的发展历史。它包含了一组功能完备的标准库,可以轻松完成不少常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不同,它使用缩进来定义语句块。shell

  与Scheme、Ruby、Perl、Tcl等动态语言同样,Python具有垃圾回收功能,可以自动管理内存使用。它常常被看成脚本语言用于处理系统管理任务和网络程序编写,然而它也很是适合完成各类高级任务。Python虚拟机自己几乎能够在全部的做业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具能够将Python源代码转换成能够脱离Python解释器运行的程序。编程

  Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。服务器

  Python支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面的程序设计、泛型编程多种编程范式。网络

 

Python能够干什么:并发

  Web程序
  Python常常被用于Web开发。好比,经过mod_wsgi模块,Apache能够运行用Python编写的Web程序。使用Python语言编写的Gunicorn做为Web服务器,也可以运行Python语言编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的沟通。一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可让程序员轻松地开发和管理复杂的Web程序。框架

  Python对于各类网络协议的支持很完善,所以常常被用于编写服务器软件、网络蠕虫。第三方库Twisted支持异步在线编写程序和多数标准的网络协议(包含客户端和服务器),而且提供了多种工具,被普遍用于编写高性能的服务器软件。另有gevent这个流行的第三方库,一样可以支持高性能高并发的网络开发。异步

  GUI开发
  Python自己包含的Tkinter库可以支持简单的GUI开发。可是愈来愈多的Python程序员选择wxPython或者PyQt等GUI包来开发跨平台的桌面软件。使用它们开发的桌面软件运行速度快,与用户的桌面环境相契合。经过PyInstaller还能将程序发布为独立的安装程序包。

  操做系统
  在不少操做系统里,Python是标准的系统组件。大多数Linux发行版和Mac OS X都集成了Python,能够在终端机下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,好比Ubuntu的Ubiquity安装器、Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage软件包管理系统。Python标准库包含了多个调用做业系统功能的库。经过pywin32这个第三方软件包,Python可以访问Windows的COM服务及其它Windows API。使用IronPython,Python程序可以直接调用.Net Framework。

  其余
  NumPy、SciPy、Matplotlib可让Python程序员编写科学计算程序。有些公司会使用Scons代替make构建C++程序。

  不少游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。不少游戏,如EVE Online使用Python来处理游戏中繁多的逻辑。

  YouTube、Google、Yahoo!、NASA都在内部大量地使用Python。OLPC的做业系统Sugar项目的大多数软件都是使用Python编写。

 

声明:

 1  从这里开始,下面及之后全部的程序都在python3 的环境中编写并运行,不考虑兼容2.x 版本的python

 2  博主假定你们已经部署完python3并安装好了Pycharm 

 

Python 的注释:

  python 使用 # 来注释单 这点和shell 同样

             使用 ''' '''  来注释多行代码

 

Python 的变量名称注意事项:

 1 变量的第一个字符不能为数字

 2 变量不能使用如下关键字

   

1  ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

 

Hello world:

1 print("Hello World!")

输入:

name = input("your nanme: ")
print("hello ",name)

判断:

1 valid_name = "yang"
2 input_name = input("your nanme: ")
3 print("hello ",input_name)
4 if input_name == valid_name:
5     print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
6 else:
7     print("Invalid name")

多种结果的判断:

valid_name = "yang"
valid_name2 = "lu"
input_name = input("your nanme: ")
print("hello ",input_name)
if input_name == valid_name:
    print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
elif input_name == valid_name2:
    print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
else:
    print("Invalid name")

while循环:

valid_name = "yang"
valid_name2 = "lu"
while True:
    input_name = input("your nanme: ")
    print("hello ",input_name)
    if input_name == valid_name:
        print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
    elif input_name == valid_name2:
        print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
    else:
       print("Invalid name")

while 条件循环:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 count = 0
 4 while count < 3:
 5     input_name = input("your nanme: ")
 6     print("hello ",input_name)
 7     if input_name == valid_name:
 8         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 9     elif input_name == valid_name2:
10         print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
11     else:
12        print("Invalid name")
13     count += 1  # count = count + 1

while 跳出循环:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 count = 0
 4 while count < 3:
 5     input_name = input("your nanme: ")
 6     print("hello ",input_name)
 7     if input_name == valid_name:
 8         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 9         break
10     elif input_name == valid_name2:
11         print("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
12         break
13     else:
14        print("Invalid name")
15     count += 1  # count = count + 1

for 循环:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 for i in range(3):
 4     input_name = input("your nanme: ")
 5     print("hello ", input_name)
 6     if input_name == valid_name:
 7         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 8         break
 9     elif input_name == valid_name2:
10         ("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
11         break
12 else:
13     print("Invalid name")

for 跳出循环:

  同while

 

跳出本次循环:

 1 valid_name = "yang"
 2 valid_name2 = "lu"
 3 for i in range(3):
 4     input_name = input("your nanme: ")
 5     print("hello ", input_name)
 6     if input_name == valid_name:
 7         print("welcome {_valid_name} to your server".format(_valid_name=valid_name))
 8         continue
 9     elif input_name == valid_name2:
10         ("welcome {_valid_name2} to your server".format(_valid_name2=valid_name2))
11         continue
12 else:
13     print("Invalid name")

跳出多层循环:

python 不能够跳出多级循环,所以须要加一个计数器,在子循环中来改变这个计数器达到父循环跳出的目的

 1 count = 0
 2 for i in range(10):
 3     print("this is i___{_i} ".format(_i=i))
 4     for b in range(10):
 5         print("this is b____{_b} ".format(_b=b))
 6         if b == 6:
 7             count = 1
 8             break
 9     if count == 1:
10         break

 

模块:

  python 的模块相似于shell 中的一个函数,能够导入使用,python 官方自带了不少库,固然第三方库更丰富一些。

  使用官方的密码库来让密码输入不可见:

1 #!/usr/bin/env python3
2 
3 import getpass
4 
5 username = input("username: ")
6 passwd = getpass.getpass("passwd: ")
7 
8 print(username,"-----  heh =-----",passwd)
相关文章
相关标签/搜索