zoukankan      html  css  js  c++  java
  • Python自动化开发从浅入深-语言基础

    一、变量与赋值
     
    1、什么是变量
            变量是内存中的一块区域,它可以存储规定范围内的值,而且值可以改变。我们在内存中开一个空间,再为这块内存空间定义一个名称,即变量名。
    -- courses_name , student_name , courses_score均为变量名。
     
    变量起名规则:
    -- 显式
    -- 命名时将单词间加底划线,nums_of_dogs = 12
    -- NumsOfDogs = 12 (驼峰写法)
    -- 数字不能开头。
    -- 特殊字符不能有。
    -- 不能有空格
    -- 关键字不能为变量
    -- 中间不能有减号
     
    2、什么是赋值
            -- 变量赋值是变量声明和定义的过程,如:x=2,x+=2,x-=1
      --  student_name和get_name指向同一块内存区域
     
    -- 看看下个例子中的赋值在内存中的变化
    变量的指针变化可根据指向内存数据的指针计数变化而定的,新分配一个变量内存数据,则指针计数为1,指针计数为0则回收内存。
    注意:python中的内存其实是python先从内存中获取一块,然后自己分配的地址
     
     
    二、数据类型
     
            Python中的数字类型包括以下几种类型:
            -- 数字类型:整型 Int,浮点型 Float,长整型 Long
            -- 布尔类型
            -- 字符串类型
            -- 列表类型
            -- 元组类型
            -- 字典类型
     
        1、整型类型 Int
        无论32位还是64位机器,其取值范围为 -2**31~2**31-1,即 -2147483648~2147483647。
    5、字符串 String
        -- 使用引号定义的一组可以包含数字、字母、符号(非特殊系统符号)的集合。如:'ab',“abc”,"""三重引号可以指定位置输出"""。
       -- 注意:多个字符串用加号形式进行格式化输出(print),这样使得每一个连接变量都会在内存中开辟一个空间,增加了内存消耗(万恶的加号),所以不建议以加号拼接的形式表达
    格式化。要进行格式化输出建议用三重引号形式。
     
           
                 * 分割: 将字符串分割为列表项
               
                * 长度计算,下例中a字符串的长度为22
              
               * 索引
                      索引就是通过下标取序列类型的一个值。
                  定义一个字符串:a = "abcdef"
                      字符串的索引值从0开始计算向后数。如,a[0]取a,a[3]取d,a[-1]取f
     
               * 切片   
                     切片就是通过取出序列类型中的一段值,切片的格式为:[开始位置:结束位置-1:步长]。
                 定义一个字符串:a = "abcdef"
                a[1:3]取出bc,a[1::2]取出bdf
         
          * 字符串处理函数

                字母处理

                   全部大写   :str.upper()

          
                   全部小写   :str.lower()

          
                   大小写互换:str.swapcase()

          
                   首字母大写,其余小写:str.capitalize()

          
                   首字母大写:str.title()

          

                 

    格式化相关
        获取固定长度,右对齐,左边不够用空格补齐:str.rjust(width)

      
        获取固定长度,左对齐,右边不够用空格补齐:str.ljust(width)

      
        获取固定长度,中间对齐,两边不够用空格补齐:str.center(width)

      
        获取固定长度,右对齐,左边不足用0补齐:str.zfill(width)

      

     

    字符串搜索相关
        搜索指定字符串索引位置值,没有返回-1:str.find('字符串')

        
        指定起始位置搜索:str.find('字符串',start)

      

      指定起始及结束位置搜索:str.find('字符串',start,end)

      
        从右边开始查找:str.rfind('字符串')

      
        搜索到多少个指定字符串:str.count('字符串')

      

       上面所有方法都可用index代替,不同的是使用index查找不到会抛异常,而find返回-1


    字符串替换相关
        替换old为new:str.replace('old','new')

      
        替换指定次数的old为new:str.replace('old','new',maxReplaceTimes)

      


    字符串去空格及去指定字符
        去两边空格:str.strip()

      
        去左空格:str.lstrip()

      
        去右空格:str.rstrip()

      
        去两边字符串:str.strip('d'),相应的也有lstrip,rstrip

      

      按指定字符分割字符串为数组:str.split(' ')

      

      

     

    字符串判断相关

    是否以start开头:str.startswith('start')


    是否以end结尾:str.endswith('end')


    是否全为字母或数字:str.isalnum()


    是否全字母:str.isalpha()


    是否全数字:str.isdigit()


    是否全小写:str.islower()


    是否全大写:str.isupper()

     

     
        6、列表类型 List
        列表是用中括号[]表示的,包含了多个以逗号分隔的数值或字串,它是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。
        列表是可变类型的数据。
            
      
       
       
        
    三、运算符
            -- 取模运算%:返回除数的余数。
     
            --幂运算**:返回X的Y次幂。
     
            --取整除运算//:返回商的整数部分。
     
            --比较运算符:
                == :等于,比较对象是否相等。
                !=    : 不等于,比较两个对象是否不相等。
                *=   : 乘法赋值运算符。
                /=  :除法赋值运算符。
                %=:取模赋值运算符。
                **= : 幂赋值运算符。
     
            --位运算:
                & : 按位与运算符。
                |  :按位或运算符。
                ^  : 按位异或运算符。
                ~ : 按位取反运算符。
                <<:左移动运算符。
                >>:右移动运算符。
     
                 
     
        -- 逻辑运算符
               and  :布尔"与"。如果x为false,x and y返回false,否则返回y的计算值。
               or    :布尔"或"。如果x是true,它返回true,否则返回y的计算值。
               not  :布尔“非”。如果x为true,返回false。如果x为false,返回true。
        
        --成员运算符
                in  :  如果在指定的序列中找到了值,则返回True,否则返回false。
           not in :    如果在指定的序列中没有找到值,则返回True,否则返回false。
        --身份运算符
                 is : 判断两个标识符是不是引用自一个对象。
          is not  :判断两个标识符是不是引用自不同的对象。
                   
     
     
    四、流程控制
        
        1、if...else 和缩进
     
        if...else为条件判断语句,即如果条件成立则做什么,否则做什么。
        其结构如下:
        if 条件1:            #在其作用域范围的语句需要有缩进,如果"条件1"成立执行"语句执行1"和"语句执行2"                                  
          语句执行1     # "语句执行1"和"语句执行2"前要进行缩进
          语句执行2     #各个语句的缩进距离要保持一致,通常为4个空格。
        elif 条件2:          #否则,如果"条件2"成立,则执行"语句执行3"和"语句执行4"        
          语句执行3
          语句执行4
        else:                 #如果"条件1"和"条件2"不成立,则执行"语句执行5"和"语句执行6"
          语句执行5
          语句执行6
     
        举例: 
                 
              运行结果
                  
        2、for循环...else
        
        for循环可以在指定范围内重复执行其范围内的语句,它可以遍历所有序列类型的值。
               

    实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    for letter in 'Python':     # 第一个实例
       print '当前字母 :', letter
    
    fruits = ['banana', 'apple',  'mango']
    for fruit in fruits:        # 第二个实例
       print '当前字母 :', fruit
    
    print "Good bye!"

    以上实例输出结果:
    当前字母 : P
    当前字母 : y
    当前字母 : t
    当前字母 : h
    当前字母 : o
    当前字母 : n
    当前字母 : banana
    当前字母 : apple
    当前字母 : mango
    Good bye!


    通过序列索引迭代

    另外一种执行循环的遍历方式是通过索引,如下实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    fruits = ['banana', 'apple',  'mango']
    for index in range(len(fruits)):
       print '当前水果 :', fruits[index]
    
    print "Good bye!"

    以上实例输出结果:

    当前水果 : banana
    当前水果 : apple
    当前水果 : mango
    Good bye!

    以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。

    
    

    循环使用 else 语句

    在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

    如下实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    for num in range(10,20):  # 迭代 10 到 20 之间的数字
       for i in range(2,num): # 根据因子迭代
          if num%i == 0:      # 确定第一个因子
             j=num/i          # 计算第二个因子
             print '%d 等于 %d * %d' % (num,i,j)
             break            # 跳出当前循环
       else:                  # 循环的 else 部分
          print num, '是一个质数'

    以上实例输出结果:

    10 等于 2 * 5
    11 是一个质数
    12 等于 2 * 6
    13 是一个质数
    14 等于 2 * 7
    15 等于 3 * 5
    16 等于 2 * 8
    17 是一个质数
    18 等于 2 * 9
    19 是一个质数
     
     
     
  • 相关阅读:
    HDU1021 Fibonacci Again
    HDU 1016 素数环
    android studio快捷键备忘录
    如何避免app互相覆盖
    Button中小写字母全部都成大写的了
    android java.lang.IllegalStateException: System services not available to Activities before onCreate错误
    ButterKnife没有配置引发的血案
    requestWindowFeature的使用
    bitmap.setPixel抛出了IllegalStateException 异常
    《程序员面试金典》部分题解
  • 原文地址:https://www.cnblogs.com/whiggzhaohong/p/whiggzhaohong.html
Copyright © 2011-2022 走看看