美文网首页
01Python 基础_数据类型_类型转换_字符串

01Python 基础_数据类型_类型转换_字符串

作者: tzktzk1 | 来源:发表于2023-11-24 17:16 被阅读0次

    自动化测试:
    两种:
    第一种工具;

    1.快
    2.很好的构建一个流程

    第二种代码编程实现;

    1.解决差异性;
    2.提高自定义能力;
    3.自动添加相对附属功能;

    为什么选择Python语言做自动化测试:

    面向过程编程语言:
    VB、C
    面向对象编程语言:
    JAVA、python、C、Go

    Python的好处:

    1,容易上手;
    2,生态好;
    3,基础要求不高;
    4,能做其它编程语言都能做的事情;

    注意事项:

    1,运行安装包的时候要勾选 add python to path;
    2,如果没有勾选,需要你自己去设置环境变量;
    3,如果没有勾选,可以再次运行安装包;然后uninstall(卸载),之后再安装;
    4,Win 7 不能安装3.8以上的python版本;


    1,Python语言介绍:

    计算机能听懂的语言我们称为编程语言。

    Python的诞生:

    Python的创始人为吉多·范罗苏姆(Guido van Rossum),一般称龟叔。
    1989年,吉姆·范罗苏姆为打发时间,决定为当时正构思的一个新的脚本语言编写一个解释器。作为派森的狂热粉丝,他以Python命名该项目,使用C进行开发。
    1991年发布Python的第一个版本。此时Python已经具有了类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统
    1991-1994年,Python增加了lambda, map, filter and reduce
    1999年,Python的web框架之祖——Zope1发布。
    2000年,加入了内存回收机制,构成了现在Python语言框架的基础
    2004年,web框架Django诞生

    Python的运用:

    适用领域:

    1.数据分析:GWPY
    2.云计算:OpenStack
    3.WEB开发: Django、 flask、 tomado
    4.科学运算、人工智能:NumPy、SciPy、 Matplotlib、 Enthought librarys、 pandas
    5.系统运维:slatstack、Ansible
    6.图形开发:wxPython、PyQT、 TKinter
    7.自动化测试、性能测试,selenium、 appium、 requests、 httprunner

    不适用领域:

    1.贴近硬件的代码(首选C)
    2.移动开发:IOS/Android有各自的开发语言
    3.游戏开发:c/c++


    2,Python的安装与环境配置:

    官网:https://www.python.org/

    C:\Users\28666>where python     // 得到python安装路径
    D:\TestingMgr\Python396\python.exe
    C:\Users\28666>python           // 进入python 命令行输入模式
    Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    C:\Users\28666>python --version // 得到Python的版本号
    Python 3.9.6
    

    Python环境部署:

    1,Python运行环境--Python主流的解释器就是CPython
    2,Python代码编写工具(IDE) --- Pycharm (推荐)、VSCode、Sublime

    Pycharm安装:

    1,下载Pycharm(社区版)
    首先要下载Pycharm这个软件
    官网的下载地址是:www.jetbrains.com/pycharm/download/#section=windows

    Pycharm使用要点:
    1,新建项目;
    第一种是使用系统环境;
    第二种是使用虚拟环境;
    第一个Python程序:
    1.新建工程:File-->NewProjeci
    2.Python环境配置:File-->Setting-->Project:工程名
    3.新建Python文件:在工程项目上右击-->New-->Python File
    4.书写代码: print("hello world!") #打印 (ctrl +D 复制一行代码)
    5.执行代码:
    代码文档右击-->Run"文件名"
    右上角绿色三角形
    菜单-->Run-->文件名
    6.控制台查看结果

    pyCharm快速格式化代码快捷键:Ctrl + Alt + L
    

    3,创建第一个Python程序:

    print("你\n好\n吗\n")          # 输出后有个默认的换行
    print("你\n好\n吗\n", end="")  # 输出后默认的换行被替换为了“”
    print("你好吗?")
    print("你好"
          "吗?")     # 还是作为一个整体输出的
    
    #
    # a = 1       # 在python中 一个 “=”就代表赋值,等号后面代表着被赋值的对象;前面赋值的对象(变量)
    # # print(a+1+2+3) # 快捷键: ctrl + /(?)  注释一行
    # print(a)
    #
    
    """
    #       这是一个注释
    # """
    #
    # '''
    #       这也是一个注释:严格的来说,不能算做为注释,只是我们利用了python,构建了字符,不引用就不会参与运算的机制
    # '''
    #
    # #     这还是一个注释
    #
    
    age = 17  # 赋值17给变量age
    sex = "男"
    
    if age > 18:  # 通过if语句比较,比较如果成立就执行“:”下面的内容
        print("年龄大于18岁")
        if sex == "男":
            print("大叔真精神!")
        if sex == "女":
            print("大姑娘真可爱!")
    if age < 18:
        print("年龄小于18岁")
        if sex == "女":
            print("小姑娘真可爱")
        if sex == "男":
            print("小伙子真帅!")
    
    print("请输入你的年龄:")
    age = int(input())  # 可以接受你在控制台中的一个输入,int() 类型转换为整型
    print("请输入你的性别")
    
    sex = input()
    
    if age > 20:  # 通过if语句比较,比较如果成立就执行“:”下面的内容
        print("年龄大于18岁")
        if sex == "男":
            print("大叔真精神")
        if sex == "女":
            print("大姑娘真可爱!")
    if age < 20:
        print("年龄小于18岁")
        if sex == "女":
            print("小姑娘真可爱")
        if sex == "男":
            print("小伙子真帅!")
    
    
    a, b = "A", "B"
    print(a)
    print(b)
    c = (a, b)
    print(*(a, b))  # 星号 * ---> 解包 ---> 相当于 print(a,b)
    # A
    # B
    # A B
    

    4,Python语法规则:

    标识符:
        什么是标识符,标识符用来做什么的?
        文件名、变量名、函数、类名、模块名、项目名等
        标识符命名规范:
        必须要遵循的3条规范,否则会报错
            1.标识符只能由字母、数字、下划线组成。
            2.标识符不能以数字开头。
            3.标识符不能是Python内置关键字
    
        ·如: [ 'and', 'as’ , 'assert', 'break’ , 'class' ,' continue.....>
    
    建议遵循的2条规范,不遵循不会报错,如果遵循可以显得更加专业
        1.见名知意,通过阅读标识符就能知道此变量的含义。如: age,name,color,price
        2.下划线命名法,多个单词表示的标识符用下划线连接(均小写),如:first_name
    

    5,变量

    变量名规范
        变量可以理解为一个容器,可以用来存储东西的容器。
        变量也是一种标识符,所以命名时要遵循标识符的命名规范。
        注意点:
            1.变量名只能以数字、字母、下划线组成
            2.变量名不能以数字作为开头
            3.变量名不能是Python内置关键字
            4. 下划线可以作为开头,但是有特殊意义,一般
            5.Python3版本支持中文命名,但是Python大神都不用
            6.Python严格区分大小写
            7.命名要具有描述性,见名知意
            8.变量在引用之前必须要定以并赋值
    
    变量名定义与引用
        变量名定义
            1.单个变量定义与赋值:变量名=值
            2.多个变量连续定义与赋值:变量名1=变量名2=值--》多个变量获得同一个初始值
            3.多个变量连续定义与赋值:变量1,变量2,变量3=值1,值2,值3--》多个变量分别获取不同的初始值
            4.多个变量连续定义与赋值:变量1,变量2,*变量3=值1,值2,值3,值4
    
    变量名引用
        用做计算、用做输出、用作调用等等
    
    code-变量名定义与引用
    案例1:单个变量定义与调用,如果变量值相关,查看内存地址分配
    案例2:多个变量连续定义与调用,初始值相同,查看内存地址分配,并比较与案例1的区别
    案例3:多个变量连续定义与调用,每个变量的初始值不一样
    案例4:多个变量赋值,值的个数比变量的个数多,要求调用变量时不报错
    
    id()    --> 查看内存的地址
    
    # 方式一:单个变量的赋值   # 位置信息包含的内容 -》位置id、类型、数据内容
    age1 = 1000#2个位置内存
    age2 = 1000
    print(age1, id(age1))   # 这里的内存地址是解释器的内存地址
    print(age2, id(age2))
    
    >>> a=1000>>> b=1000
    >>>print(id(a))
    140629753489944     # a的内存地址
    >>>print(id(b))
    140629753489896     # b的内存地址
    >>>print(id(a),id(b))
    (140629753489944,140629753489896)
    
    #方式二:连续赋值
    age1 = age2 = 1000  # 一个位置内存
    print(age1,age2)
    
    >>> c=d=1000
    >>> print(id(c) ,id(d))
    (140629753489824,140629753489824)   # c d 内存地址一样
    
    方式三:多个变量,赋不同值
    name , age , sex= 'sanfeng ' , 18, ' female '
    print(name)
    print(age)
    print(sex)
    
    方式四: *号的处理
    
    *号将多个值给到一个变量[数据类型]
        a , b, *c = 1,2,3,4,5,6
        print(a)
        # 1             # int 整数
        print(b)
        # 2             # int 整数
        print(c)
        # [3,4,5,6]     # list 列表
        # *会对剩余的信息做类型转换,这里ab赋值结束后会将剩下的信息转换为[3,4,5,6]并赋值给c
        
        print(*(a,b)) # 星号 * ---> 解包 ---> 相当于 print(a,b)
    

    6,Python输入与输出

    输入 input()
    如果想要实现用户交互怎么做呢?例如:
        让用户输入账号和密码,代码检测用户名密码是否正确?
        让用户输入数字,代码判断数字进行抽奖。
    这些功能均需要让用户输入一些值,然后我们根据用户输入的值进行相应的操作,接下来咱们就来学习如何
    让用户可以输入一些内容,然后咱们对输入的内容进行操作。
    
    1.语法: 变量名=input('提示信息')
        ·在控制台原样输出提示信息
        ·在控制台接受输入数据,并将接受的数据赋值给变量名
        ·调用变量
    注意:
    .input接受的所有的数据都会以字符串的形式存储,如果要进行其他类型的操作,则必须要进行转换
    
    print关键字【python语言提供的】   --> 输出一段内容
    
    #input()        # 等特用户输入内容
    a = input("请输入内容:")
    print(a)
    
    
    方式一: 使用 %d %s %f 来占位,用 %(valuel, value2,value3...) 来传值
            %d  --》整数
            %f  --》小数
            %s  --》字符串
        占位符
    方式二:    用{}来占位,用.format(value1, value2, value3...)来传值
        a=“{}-{}-{} {}:{}:{}".format( "2021","11","02","21",“30","30")
        print(a)
        # 2021-11-02 21:30:30
    

    7,基本数据类型

    Python默认提供6种基本数据类型
        1.number:数值类型(数字类型)
        2.str:字符串类型
        3.list:列表类型
        4.tuple:元组类型
        5.dict:字典类型
        6.set:集合类型
    
    数值类型 - number
        数值类型又可以进行细分,可以分为如下几种:
            1. 整型(关键字int)  由0~9组成的所有数字,例如:年龄、存款、尺寸、手机号等。
            2.浮点型(关键字float)  包含有小数点,例如:价格,重量
            3.布尔型(关键字bool)  生活通过某种判断得到的真(True)、假(False)。例如:1大于2是假,1大于0是真
            4.复数(关键字complex)
                ·复数:就是实数加虚数,表示形式:实数+虚数(j)如a=1+3j
                ·虚数:假设i的平方为-1,那么i就是虚数
                
            # 整数
            phone_price = 9
            print(type(phone_price))    # <class 'int'> 
            # 浮点数
            v_price = 1.239035
            print(type(v_price))        # <class 'float'>
            # 布尔值 -- 判断、循环
            res = 1< 2
            print(res)                  # False True
            print(type(res))            # <class 'bool'>    
            # 复数
            com = 100 + 0.009j  # 一个整数加一个虚数,大数据和数据分析时有可能用到
            print(type(com))            # <class 'complex'>
        
        code-int/float定义与查看
            type()方法︰查看变量的数据类型
                什么时候用整型?什么时候用浮点型?什么时候用布尔值?
                    根据你应用的场景来决定用哪个数据类型,例如:
                    分数80 90 int 75.5 78.9 float
                    价格899 799 int 3.8 7.5 float
        code-bool/complex定义与查看
            布尔值用来干啥?
                一般用来跟条件判断/循环结合使用
            布尔值有没有其他可替换的值?
                .True: 1/非O值非空字符串非空列表非空元组非空字典
                .False: 0 空字符串空列表空元组空字典
    
    字符串类型-str
        字符串,其实就是我们生活中的文本信息。例如:姓名、地址、自我介绍等。
        字符串定义:凡是由引号引起来的内容就是字符串,引号可以是单引号,双引号,三引号。
        当字符串的内容中包含有单双引号时,可以使用转义,也可以单双嵌套来使用。
    
        字符串的定义
            1.定义一个空字符串
            2.定义一个非空字符串
            3.获取字符串的长度len()
            4.用一个print,输出多个字符串内容
            5.字符串的拼接+
            6.字符串的多次输出* (*为乘法的意思)  #例如:  str10 = "中国"  print(str10 * 3)   #控制台输出: 中国中国中国
            
            print("我爱中国"+"我爱中国"+"我爱中国")
            # 我爱中国我爱中国我爱中国
            print(我爱中国" * 3)
            # 我爱中国我爱中国我爱中国
    
        字符串-单双引号处理
            当字符串的内容中包含有单双引号时,可以使用转义,也可以单双嵌套来使用。
                单双引号与三引号的区别是什么?     '   '       ''  ''      ''' '''
                单双引号没区别,三引号构建了一个注释:严格的来说,不能算做为注释,只是我们利用了python,构建了字符,不引用就不会参与运算的机制
    
        字符串-特殊字符处理
            特殊字符:具有特定的效果,如:\n换行\t制表符\r回车
                对于特殊字符,我们不想要他有特定的效果,只想按照原样输出,把特殊字符变成普通的字符来使用,
                可以用r/R或者斜杠( \ )来处理
    

    8,类型转换

    类型转换
        上文数据类型int/str/bool有了初步了解,他们都有自己不同的定义方式。
            ·整型定义时,必须是数字且无引号,例如:5、8、9
            ·字符串定义时,必须用双引号括起来,例如:”中国”、”木子”、”666"
            ·布尔值定义时,只能写True和False
        不同的数据类型都有不同的功能,例如:整型可以加减乘除而字符串只能加(拼接)和乘法。
        如果想要做转换可遵循一个基本规则:想转换什么类型就让他包裹一些。例如: str(666)是将整型转换为字符串、int("888”)是将字符串转换为整型。
    
    数值类型互转
        整数/布尔值转为浮点数:float()
        浮点数/布尔值转为整数: int()
        整数/浮点数转为布尔值:boo()
    
    总结:
    ·非零值为True,0为False
    
    数值类型转换为字符串
        整数/布尔值/浮点数转为字符串:str()
    

    9,字符串

    字符串转换为数值类型
    字符串转为浮点数: float()
    字符串转为整数:int()
    字符串转为布尔值: bool()
    注意:
        ·字符串转为整数时,字符串的内容必须只包含数字;
        ·字符串转为浮点数时,字符串的内容必须只包含与小数点,否则会报错。
        .浮点型转int类型,只保留小数点前的内容(整数部分)
        .int类型转换为浮点型,采用的方式是:整数后面加.0   # 1 -->  1.0  , 0 --> 0.0
        ·空字符串转为布尔值为False,非空字符串永远为True
    
    len()   变量值的长度
        print(len(""))
        # 0
        print(len(" "))     # 空格也是一个字符串
        # 1
        print(len("""
        
        
        
        """))       # 回车也是一个字符串
        # 4
    
    字符串的取值
        有序:字符是有对应的索引值
            正系,反序
        可变:可以改变
        
        取值: 变量名[索引值]    使用场景:获取字符串中一个字符内容
        切片(取值): 变量名[start:end:step] 便用场景:获取字符串中多个字符内容
            start:开始位置的索引值
            end:结果位置的索引信,特点:end指向的位置数值取不到,只能取到end-1位置(左闭右开原则)
            step:改变索引值的方式,如果没有写,默认值是1 递增 递减
        切片:理解为 批量提取数据
        
        s = 'hello python'
        print(s[0:5])
        # hello
        print(s[:])         # start和end都为空系统认为你不进行切片
        # hello python
        print(s[:5])        # start为空默认从角标0开始
        # hello
        print(s[10: ])      # end为空系统会一直取到最后一个数据
        # on
        print(s[3: 7])
        # lo p
        print(s[::-1])      # 倒序切片,可以用于倒序取值 -1,-2,-3,-4...
        # nohtyp olleh
    
    
    字符串索引
        s=' hello python '
        print(s[11])    # 正序索引方式,角标从0开始算
        # n
        print(s[0])
        # h
        print(s[-1])    # 反序索引方式,角标从-1开始向前算
        # n
        print(s[-5])
        # y
    
    字符串常用的方法
        startswith()    判断字符以xx开头   
        endswith()      判断字符以xx结尾   
        isdigit()       判断字符中的内容是否都是数字  
        upper()         字符转换成大写 
        lower()         字符转换成小写     lower() --> 验证码 EHTW
        strip()         去除字符串前后的指定的内容       字符串名.strip(“指定字符“)
        split()         字符进行切割      split()     # split作用效果有两个:1、删除;2、返回一个list
        replace()       字符进行替换      replace( '1', 'a',2)    # 1替换为a且只替换前2个,如果不写替换个数默认全替换
                        # replace替换底层原理是将原来的数据按照1进行切片,然后再用a进行拼接达到目的
    
            s = 'hua_ce Hello Python'
            print(s.startswith('hua_ce'))   
            # True
            print(s.endswith('Python'))
            # True
    
            if s.startswith('hua_ce'):
                print('这是hua_ce的vip学员。。。')
            else:
                print('不好意思,没有权限使用')
    
        去除字符串前后的指定的内容
            s ='@@@@Huace Hello Python###'
            print(s.strip())    # 去掉字符前后的东西
            # @@@@Huace Hello Python###
            print(s.strip(' '))
            # @@@@Huace Hello Python###
            s1 = s.strip('@')   
            print(s1)
            # Huace Hello Python###
            s2 = s1.strip('# ')
            print(s2) 
            # Huace Hello Python
            
            数据迭代的方式一:
            print(s.strip("@").strip("#" ))
            数据迭代的方式二:
            S=s.strip ("@")
            print(s.strip("#"))
    
        替换 1->a:替换一个东西需要两个内容:1,你需要替换的东西;2,你要替换成的东西
            us = 'sanfeng:123456:13011112222'
            print(us.replace(' 1', 'a '))
            # sanfeng:a23456:a30aaaa2222
            print("替换两个:", us.replace ( '1', 'a',2))    # 规定替换个数
            # 替换两个:sanfeng:a23456:a3011112222
    
    字符串常用方法
        a.查找_替换_统计
            find()  掌握      注意: 找不到子串时,返回-1
            rfind() 了解
            index() 了解      注意: 找不到子串时,程序会崩溃,产生一条异常信息,导致程序无法执行
            rindex() 了解 
            replace() 掌握        字符进行替换,默认全部替换
            count() 掌握
    
        b. 分割_连接
            split() 掌握      输出的是列表,需要注意有分隔符,且每个都会生效
            splitlines() 理解     注意只识别换行为分隔符
            partition() 了解  只会分割成三部分,且输出一个元组
            rpartition() 了解
            splitlines() 了解
            join() 掌握           加入字符进行连接列表中的每个元素
    
        c. 判断
            startswith() 判断是否以指定字符串开头 (掌握)
            endswith()   判断是否以指定字符串结束 (掌握)
            isupper()   判断是不是大写字符   (理解)
            islower()   判断是不是小写字符   (理解)
            isdigit()   判断是不是数字字符 (理解)
            isalpha()   判断是不是字母 (理解)
            isalnum()   判断是不是字母或数字字符 (理解)
            isspace()   判断是不是空白字符,包含空格,换行符\n,制表符\t (理解)注意''空字符串不是空白字符
    
    
        d. 转换 (了解)
            upper() 转换成大写
            lower() 转换成小写
            title() 将每个单词首字符转换大写
            capitalize() 将第一个单词的首字符转换成大写
    
        e. 对齐(了解)
            center()    按给定宽度居中显示
            rjust()     右对齐
            ljust()     左对齐
    
        f. 去除空白(了解)
            strip()     去除字符串前后的指定的内容
            lstrip()    去除左侧空白
            rstrip()    去除右侧空白
    

    相关文章

      网友评论

          本文标题:01Python 基础_数据类型_类型转换_字符串

          本文链接:https://www.haomeiwen.com/subject/amdxwdtx.html