zoukankan      html  css  js  c++  java
  • Python 基础系列一:初识python

    为什么是Python而不是其他语言?

    1. C 和 Python、Java、C#等
    2. C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作。
    3. 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行
    4. Python的类库齐全并且使用简洁,linux自带等优点
    5. Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。

    Python的种类

    1. Cpython:Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
    2. Jyhton: Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
    3. IronPython:Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
    4. PyPy(特殊):Python实现的Python,将Python的字节码字节码再编译成机器码。

    Python环境安装

    windows:
       1、下载安装包
        https://www.python.org/downloads/
      2、安装
        默认安装路径:C:\python27
      3、配置环境变量
        【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
        如:原来的值;C:\python27,切记前面有分号
    

    Python 入门

        1. 第一句Python代码,在 /home/dev/ 目录下创建 hello.py 文件,内容如下:
          print "hello,world"
          

          执行 hello.py 文件,即:

          python /home/dev/hello.py
          

          python内部执行过程如下:

        2.  Python解释器

          上一步中执行 python /home/dev/hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。

          如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

          #!/usr/bin/env python
          print "hello,world"
          

          如此一来,执行:

           ./hello.py

          ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

        3. 内容编码

          python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

          ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

          Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
          注:此处说的的是最少2个字节,可能更多

          UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

          所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码报错:ascii码无法表示中文:

          #!/usr/bin/env python
            
          print "你好,世界"
          

          改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

          #!/usr/bin/env python
          # -*- coding: utf-8 -*-
            
          print "你好,世界"  
        4. 注释
          当行注视:# 被注释内容
          
          多行注释:""" 被注释内容 """
          
        5. 执行脚本传入参数,Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

          1.Python内部提供的模块
          2.业内开源的模块
          3.程序员自己开发的模块

          Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

          #!/usr/bin/env python
          # -*- coding: utf-8 -*-
            
          import sys
            
          print sys.argv  
        6. pyc 文件

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

          ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

        7. 变量
            
          1. 声明变量: 
            #!/usr/bin/env python
            # -*- coding: utf-8 -*-
              
            name = "chengyajun"
            

              

          2. 变量的赋值:
            #!/usr/bin/env python
            # -*- coding: utf-8 -*-
            
            name1 = "chengyjun"
            name2 = name1  
        8. 流程控制和缩进
          1.  用户登录验证:
            #!/usr/bin/env python
            # -*- coding: encoding -*-
            # 提示输入用户名和密码
              
            # 验证用户名和密码
            #     如果错误,则输出用户名或密码错误
            #     如果成功,则输出 欢迎,XXX!
             
            import getpass
              
            name = raw_input('请输入用户名:')
            pwd = getpass.getpass('请输入密码:')
              
            if name == "alex" and pwd == "cmd":
                print "欢迎,alex!"
            else:
                print "用户名和密码错误"
            

              

          2. 根据用户输入内容输出其权限:

            # 根据用户输入内容打印其权限  
            # alex --> 超级管理员
            # eric --> 普通管理员
            # tony,rain --> 业务主管
            # 其他 --> 普通用户
            name = raw_input('请输入用户名:')
            if name == "alex":
                print "超级管理员"
            elif name == "eric":
                print "普通管理员"
            elif name == "tony" or name == "rain":
                print "业务主管"
            else:
                print "普通用户"
        9. while循环
          1. 基本循环:
            while 条件:
                 
                # 循环体
                # 如果条件为真,那么循环体则执行
                # 如果条件为假,那么循环体不执行  
          2. break
            while True:
                print 123
             
                break  
          3. continue
            while True:
                print 123
             
                continue
            

              

      

      

      

  • 相关阅读:
    字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串
    运用Mono.Ceci类库修改.NET程序集 走上破解软件的道路
    字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略
    数学:《初等书论》素数与合数
    数学:《线性代数》矩阵乘积 之 代码实现
    数学:《线性代数》方阵求逆 之 代码实现
    数学:《线性代数》矩阵运算
    数学:《线性代数》矩阵初等行变换及其应用(线性方程求解)
    数学:《概率》条件概率公式
    Entityframework:启用延时加载的主意事项(只为强化记忆)
  • 原文地址:https://www.cnblogs.com/yyyg/p/5440346.html
Copyright © 2011-2022 走看看