Python开发day01

Python简介

为什么选择Python而不选择其他语言?

  • 我们知道流行和常用的语言有C、Java、Python,在其中几个做出选择,选择一个语言进行学习。
  • C语言与Python的对比:
    • 在使用上:Python的类库非常多,如果用C和Python来实现一个功能,Python可能只需要几行就可以,但是C可能就需要几十行甚至上百行。
    • 在执行速度上:在速度上没的说,C语言的执行速度比Python快得多。
  • Java语言与Python的对比:
    • 在使用上:Python在Linux、Mac OS系统上原装带有Python,这是其他语言没有的。这两种语言都是有非常丰富的类库支持。
    • 在执行速度上:Python比Java的速度可能慢上一些。

  总结:Python在执行速度上比较慢,但是他的代码可读性高(代码简单明了),拥有非常丰富的类库。在中国有一种习惯叫做先入为主的概念,所以当Python发展到中国的时候已经有了其他语言来做这件事情,改变可能带来不可预知的后果所以Python的发展在中国还是比较缓慢的,但是在国外已经很火了。

  

Python的种类有那些?

  1. CPython                  # 现在使用最为广泛,默认安装的也是CPython,它的执行过程是源文件(.py文件)转换成字节码文件(.pyc文件),然后在Python虚拟机上运行。
  2. Jython                    # 使用Java语言来实现,执行过程是源文件(.py文件),Jython动态编译源文件(.py文件)编译成JAVA字节码,在后再JVM虚拟机上运行。
  3. PyPy                          # Python实现的Python解释器,将Python的字节码再编译成机器码。PyPy还提供了JIT编译器和沙盒功能,因此运行速度比CPython要快,以及可以                              安全的运行                        一些不被信任的代码。PyPy还有一个单独的支持微线程的版本。
  4. IronPython                 # Python的代码使用C#来实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似,作者也为同一人。)
  5. Brython、RubyPython...等等
Python类型 虚拟机   兼容的语言
CPython    CPythonVM C
Jython JVM JAVA
IronPython CLR C#
Brython javascript engine(e.g,V8) JavaScript
RubyPython   Ruby VM Ruby

  总结:现在使用最为广泛的是CPython,因为官方默认给出的Python就是CPython,从上述中可以看出每一种类型的Python都会有不同的方式去实现,但是他们的代码规则是一样的。现在运行最快的为PyPy

Python环境的安装及配置

安装Python

windows:

 1 1、下载安装包
 2
 3     https://www.python.org/downloads/
 4
 5 2、安装
 6
 7     默认安装路径:C:\python27
 8
 9 3、配置环境变量
10
11     [右键计算机]--[属性]--[高级系统设置]--[高级]--[环境变量]--[在其中找到变量名为Path的一行,双击]--[Python的安装目录追加到变值中,使用;号分割]
12
13     如:原来的值;C:\python27,切记前面有分号

linux:  

1  Linux不需要安装,Linux原装带有Python环境。
提示:如果Python版本是2.6,请更新至2.7,查看Python版本python -V 

更新Python

windows:

1 卸载后重新安装便可,可同时安装2.*和3.*版本。

linux:

Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python

 1 1、安装gcc,用于编译Python源码
 2
 3     yum install gcc
 4
 5 2、下载源码包,https://www.python.org/ftp/python/
 6
 7 3、解压并进入源码文件
 8
 9 4、编译安装
10
11     ./configure
12
13     make all
14
15     make install
16
17 5、查看版本
18
19     /usr/local/bin/python2.7 -V
20
21 6、修改默认Python版本
22
23     mv /usr/bin/python /usr/bin/python2.6
24
25     ln -s /usr/local/bin/python2.7 /usr/bin/python
26
27 7、防止yum执行异常,修改yum使用的Python版本
28
29     vi /usr/bin/yum
30
31     将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

Python入门

第一个Python代码

  • 在任何一个目录下创建一个以.py结尾的文件,因为默认Python文件以.py结尾,可以写成其他的但是不建议(假设我们的文件在/usr/local/hello.py)。
  • 在创建的文件中输入代码 print(‘hello word‘) 
  • 执行此代码输入 python /usr/local/hello.py 便可以执行其中的代码。

定义解释器

  • 每次在写脚本时第一行定义脚本使用什么语言经行执行:
  • #!/usr/bin/pytho或者#!/usr/bin/env python,在Windows上无作用
  • 在定义好#!/usr/bin/pytho之后我们需要给脚本可执行权限 chomd 755 脚本名,便可以./脚本名来执行脚本

    #!/usr/bin/pytho
    print(‘hello work‘)

定义内容编码

  • 在脚本的第二行输入编码格式: # -*-coding:utf-8-*- 。utf-8为字符编码格式,如果我们可能会输出中文或输入中文可以使用,同时也可以使用unicode编码,但是推荐使用utf-8节省空间,因为2.*版本的Python他默认使用的是ascii编码。如果是3.5的话就不需要了,3.5默认使用的是utf-8编码
  • 如果你的python是2.*的,代码这样写一定会报错:

    1 #!/usr/bin/env python
    2 print(‘你好,世界‘)

    因为2.*的Python默认为ascii编码无法表示中文。

  • 改成后的样子:

    1 #!/usr/bin/env python
    2 #-*-coding:utf-8-*-
    3 print(‘你好,世界‘)

    因为你的#-*-coding:utf-8-*-告诉了Python我的代码使用utf-8的编码来执行。

注释

  • 注释的意思就是这里的内容不进行存入内存,让代码的可读性变高。
  • 注释单行为#被注是的内容
  • 注释多行为"""被注释的内容"""

执行脚本传入参数

  • 创建两个文件例如 a.py和b.py 在a.py中写入 print ‘hello A‘ ,在b.py中写入

    1 import a
    2 print(‘hello B‘)

    那么执行后显示的结果是

    1 hello A
    2 hello B

pyc文件

  • 在执行Python代码的时候如果导入了其他的.py文件,那么在执行过程中会自动生成一个与代码文件同名的.py文件,这个文件就是Python解释器编译之后产生的字节码。

    • 提示:代码经过编译可以产生字节码,字节码通过反编译也可以得到代码。当代码丢失时只要字节码还在同样可以运行。

变量

  • 我们首先声明变量 name = ‘Wuyongqi‘

    • 从上述中可以看出name为变量名,‘Wuyongqi‘为值。
    • 变量的作用可以理解为简称、昵称他代指内存里某一个地址中的内容。

      

    • 变量定义的规则:

      • 变量名称只能以数字、字母、下划线来组合命名,但是数字不可以开头。
      • 因为Python也有一写关键字,这些关键字不可以声明为变量
        • [‘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 work,一块叫Wuyongqi。

      1 #!/usr/bin/env python
      2 # -*- coding: utf-8 -*-
      3
      4 name1 = "Hello Word"
      5 name2 = "Wuyongqi"
    • 这样就想是内存中开辟一块空间然后叫Wuyongqi,使用name1来代指Wuyongqi这个内存空间地址,name2等于name1所以不需要在开辟一块空间name2与name1同使用一块内存空间。

      1 #!/usr/bin/env python
      2 # -*- coding: utf-8 -*-
      3
      4 name1 = "Wuyongqi"
      5 name2 = name1

输入

  • 输入

    1 #!/usr/bin/python
    2 # -*- coding: utf-8 -*-
    3 name = raw_input("请输入用户名:")
    4 # 将用户输入的内容赋值给 name 这个变量
    5 print name
    6 #打印用户输入的内容
  • 当输入密码的时候防止被他人看到可以设置为不可见密码,使用getpass模块中的getpass方法便可以。

    1 #!/usr/bin/python
    2 # -*- coding: utf-8 -*-
    3 import getpass
    4 pwd = getpass.getpass("请输入密码:")
    5 #当用户输入完成后,将用户输入的值赋给pwd
    6 print pwd
    7 #打印出用户输入的密码

流程控制和缩进

  • 在这里我们使用if判断来做流程控制,python中有严格缩进要求,因为他没有结束符

    • 首先完成一个用户登录账号、密码的例子:

       1 #!/usr/bin/python
       2 # -*- coding: utf-8 -*-
       3 import getpass
       4
       5 username = raw_input(‘请输入用户名:‘) #提示用户输入用户名,并讲用户输入的用户名赋给username变量。
       6
       7 password = getpass.getpass(‘请输入密码:‘)#提示用户输入密码,并讲用户输入的密码赋给pwd变量,这里我们使用了getpass模块的getpass方法所以用户输入的内容是看不到的。
       8
       9 if username == "Wuyongqi" and pwd == "wyq":
      10     print(‘恭喜您,登陆成功...‘)
      11
      12 else:
      13     print(‘您输入的账号或密码错误,请从新输入....‘)

while循环

  • 基本循环

    1 while 条件:#当条件满足的情况下执行下面代码
    2
    3     代码........
  • break命令的解释
    • break可以终止当前循环。

      1 while True:#条件一直满足,请不要那这个值随意尝试,将会导致一个死循环。
      2     print(‘hello‘) #打印hello
      3     break  #终止当前循环。    这样的代码也就是打印一次hello之后便退出了。
  • continue命令的解释

    • continue用于退出当前循环,进行下一次循环。

      1 a=1#定义一个变量数字为1。
      2 while True: #循环体条件一直满足。
      3     if a == 12 : #判断当前的变量a是不是等于12,如果等于12执行下面的代码,如果不等于则继续向下判断。
      4         continue #当if判断a等于12的时候将不打印12,因为在这里我们使用了continue跳出了本次循环。
      5     elif a == 50 : #判断当前的变量a是不是等于50,如果等于50执行下面的代码,如果不等于50则继续向下判断。
      6         break #if判断a等于50终止当前循环退出。
      7     else:  #如果上层判断都没有符合的则执行这一步。
      8         print(a)  #打印变量a当前的值。
时间: 2024-08-24 21:25:07

Python开发day01的相关文章

python全栈开发 day01

一.Python介绍 python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣..., 典型WEB框架有Django

python开发学习-day02(元组、字符串、列表、字典深入)

s12-20160109-day02 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin

Python 简介day01

1.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言. 2.执行Python程序 对于大多数程序语言,第一个入门编程代码便是"Hello World!",以下代码为使用Python输出"Hello World!": #!/usr/bin/python  print "Hello, World!"; 3.python 3.0+版本已经把print作为一个内置函数,正确输出"Hello World!"代码如下:

为什么越来越多的企业选择使用Python开发?

近来,Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用.1.简介    Python,是一种面向对象.直译式的计算机程序语言,具有近二十年的发展历史.它包含了一组功能完备的标准库,能够轻松完成很多常见的任务.它的语法简单,与其他大多数程序设计语言使用大括号不同,它使用缩进来定义语句块.    Python支持命令式程序设计.面向对象程序设计.函数式编程.面向侧面的程序设计.范型编程多种编程范式. 2

Windows下Python开发工具推荐

*  如果只是纯Python开发人员,WingIDE 是不二之选. 优点:短小精悍,启动快.调试快.反应快.Auto-completion快. 没有Eclispe的巨大臃肿.反应迟钝.跛脚的调试功能. 快捷键可以在Emacs,VS,Eclipse等之间自己选择. 个人最喜欢的功能是 Debug Probe,简直是交互式开发的利器. Linux和Wingows下都能用,一个安装包搞定. *  如果是Python和C的混合编程,需要进行mixed-mode C/Python debugging, 则

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern

linux 下安装 mysql 并配置 python 开发环境

1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误 "mysql_config not found"). $ sudo apt-get install libmysqld-dev 3.安装 python 的 mysql 库 MySQL-python (首先安装 python-d

Python开发【第一篇】:目录

本系列博文改编自武沛齐老师的原创博文,主要包含  Python基础.前端开发.Web框架.缓存以及队列等内容 ,用于学习记录成长!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻