• 测试学习笔记(P51P71教程from凡云教育)之python基础


    P51

    编程基本概念

    程序是一段可以由计算机执行的代码。

    程序= 语法+算法+数据结构

    P52

    New project创建时选择现有解释器即可;

    P53

    学习一门语言究竟要学什么:

    输入输出

    数据类型

    控制结构

    函数定义

    对象定义

    文件读写

    异常处理

    Python 运行的三种方式:

    1. 交互式解释器种直接运行python代码(cmd敲python进入)
    2. 命令行的方式运行python代码(cmd)
    3. 用编辑器运行python代码(pycharm等)

    P54

    Python语言基础

    input()接受用户输入,默认返回值是字符串

    X=int(input(“enter your number:”))--转型输入为整型

    print() 逗号分隔参数,默认换行显示(end=’\n’,不想要换行可以写成end=’’)

    print(“hello”,”world”,”!”)

    P55

    Python种使用变量需要注意的点:

    1. Python中的变量不需要类型声明,变量类型由赋值给它的数据类型决定;
    2. 每个变量在前都必须先被赋值,变量赋值后该变量才被创建;
    3. 等号用来赋值,等号左边的是变量名,右边的是存储在变量中的值。

    python保留关键字查询:cmd进入解释器,输入keyword module 即可查询。

    Python命名规则:

    1. 以字母下划线开头,剩余部分字母、数字、下划线均可。 py文件不要使用-符号、不要以数字开头
    2. 大小写敏感。使用大写首字母可以有效避开关键字。
    3. 变量名不要使用关键字
    4. 尽量用能够表征变量含义的变量名(见名知意)

    P56

    占位符

    格式占位符(%)是在python语言中格式输入函数,如print()等函数中使用,其意义就是起到格式占位的意思,表示在该位置有输入或者输出。

    %d,整数,print("我今年%d岁了"%(18))

    %f,浮点数(默认6位小数),print('%.3f'%(22.3))

    %s,字符串,print("hello,%s和%s"%('小明','小红'))

    %%,表示%符号本身,print("大概有%d%%"%(40))

    format方法,支持不指定数据类型的占位

    print("我今年{}岁了".format(18))

    print('{}'.format(22.3))

    print("hello,{}和{}".format('小明','小红'))

    print("大概有{}%".format(40))

    f方法更简单

    b=3.1415926

    a='小兰'

    print(f"Π的值是{b},学生姓名{a}")

    注释#、三引号、

    缩进,四个空格或者tab

    P57

    安装python

    P58

    数据类型:

    Number数字 string字符串 tuple元组 (不可变)

    List列表 Set集合 Dictionary字典 (可变)

    可变数据类型:改变数据的值并不会产生一个新的对象,变量仍然指向原来的对象(地址id不变)

    不可变数据类型:但是改变了数据的值之后,这个值就将变成另一个对象的数据类型,叫不可变数据类型(地址id会变)

    P59

    数值型数据类型

    整型、浮点型、复数

    类型转换int(),float()

    print(type(i))打印当前数据类型

    print(15//2)整除(取商的整数)

    print(15%2)取余

    print(2**3) 2得三次方

    math库常用方法

    print(math.ceil(-4.5))# 取大于等于当前数的最小整数

    print(math.fabs(-2.5))# 取当前数的绝对值

    print(math.floor(-2.5))# 取小于等于当前数的最大整数

    print(math.pow(2,3))# 2的3次方

    print(math.sqrt(16))# 16开方

    Random 模块

    print(random.random())返回[0.0,1.0)之间的浮点数。

    random.randint(a,b)生成一个[a,b]之间的随机数

    random.randrange(a,b)生成一个[a,b)之间的随机数

    random.uniform(a,b)生成一个[a,b]之间的随机浮点数

    random.choice([])从列表中随机取出一个元素

    random.shuffle([])打乱列表中元素的顺序

    random.sample([],n)从序列中随机取出n个值

    P60

    字符串类型

    单双三引号括起来的值或者赋值给的变量都是属于字符串类型

    字符串中单双三引号不能混用

    三引号一般用于代码注释或保持样式的长字符串输出

    字符串切片

    str = '1234567890'

    print(str[-5:9:1])

    结果:6789

    [start:end:step]

    Step为正时,start要在end左边,无论如何标序。

    Step为负时,start要在end右边,无论如何标序。

    print(str[::-1]) 倒序输出

    print(str[-1:5:-1]) 0987

    P61

    原始字符串

    s=r”c:/software/npatcge”

    Print(s)

    P62

    字符串处理

    print(len(s));字符串长度

    print(s.count(‘1’,5,len(s)))从第五位

    print(s.capitalize()) 首字母大写

    print(s.find(‘1’))查找返回序号,无则返回-1

    print(s.replace(‘90’,’aa’)) 替换

    print(s.split(‘5’))用5做切分,结果['1234', '67890']

    print(str.index('h')),index用法通find,但没找到字符程序会报错

    print(str.isdigit()) ture 是否只包含数字,isalpha是否只包含字母

    islower,字符串包含字母且所有字母小写,则true

    isspace 字符串只包含空格则true

    istitle 字符串标题化则true

    lower,转小写

    print(str.startswith('6', 5, len(str)-1)) 是否以指定字符串开头,返回值true/false

    print(str.strip('1')) strip,默认去空白,也可指定,只能去两边的

    ‘’.join()方法,以指定符号连接后面列表的字符串内容,以字符串形式返回

    a=[‘h’,’e’,’l’,’l’,’o’], print(‘’.join(a))

    P63

    列表

    容器型数据类型,可以用于存放其他数据类型的数据类型

    list1=[‘oh’,’my’,’god’]

    list2=list1

    两个列表指向同一块内存区域;

    list2=list1[:] 或者 list2=list1.copy()

    两个列表指向不同的内存区域,但列表内容相同;

    列表嵌套

    list1=['a', ['b', 'c', 'd'], 'e']

    print(list1[1][2])

    取d的写法

    列表常用方法:

    list.append(obj)列尾添加新对象

    list.count(obj)统计某个元素在列表中出现的次数(嵌套列表的元素不计入)

    list.extend(seq)在列表末尾一次性追加另一个序列的多个值;list1+list2效果等于list1.extend(list)

    List.insert(位数,值)列表指定位置添加值

    list.pop(位数)删除指定位置的元素

    list.remove(值)删除值为指定的元素

    list.reverse()把列表倒序

    list.sort()、list.sort(reverse=true)排正、倒序,数值型的列表有意义

    Min\max\sum对于数值型列表求和使用

    list()方法:a=list(‘hello’), a=[‘h’,’e’,’l’,’l’,’o’]

    List(range(start,end=None))快速生成指定范围内数字列表

    P64

    元组与列表类似,区别有两点:

    1. 用小括号 元组元素不能修改

    如果元组的元素只有一个,必须要在元素后加一个逗号才会认为时元组

    tuple(seq),将列表转换成元组

    P65

    集合(set),无序不重复的元素集,主要用于消除重复元素

    S={}

    Set([])列表强转为集合,其他类型也可强转

    add\remove\del删除整个集合\clear清空\len

    st1={'g','o','o','d'}

    for item in st1:

        print(item)

    P66

    字典,无序的对象集合,字典中的元素通过键来存取,键不重复。

    字典中的键必须时不可变数据类型。

    dic1=dic2地址相同

    dic1=dic2.copy()值相同

    dic.clear()清空列表

    dic.fromkeys([])创建以列表值为键的字典

    dic3= dict.fromkeys(['id','num','price'])

    print(dic3)

    结果

    {'id': None, 'num': None, 'price': None}

    dic.get(key,default=None)

    取键的值;键不存在时返回none

    dic1.get(key1) 等同与dic1[key],但是当key不存在时dic1[key]会抛异常

    dic.update(dict2)

    把的dict2键值对合并到dict1中

    dic.keys()取键

    print(dic1.keys())

    结果dict_keys([‘’,’’,’’])

    dic.values()取值

    print(dic1.values())

    结果dict_values([‘’,’’,’’])

    dic.items()取键和值

    print(dic1.items())

    结果dict_items([(),(),()])

    dic.popites()随机删除一个键值对

    dic.pop(key)删除指定键值对

    P67

    If else

    P68

    循环结构

    for用于已知集合进行循环,如列表、集合、字典、range数字循环

    While用于知道循环条件,比如大于某个值、值为真。

    循环嵌套判断

    例1

    for x in name:

        if x=='wangwu':

            # break 打印遇到wangwu时终止且wangwu不做打印

            Continue 打印遇到wangwu时不做打印,继续循环直到列表循环完

    print(x)

    例2

    for x in name:

        if x=='wangwu1':

            print('found')

            break

    else:

        print('notfound')

    占位符:pass

    P69

    函数:

    内置函数,print等

    模块函数,导入模块后使用 import random;第三方模块放在lib/site-package中

    自定义函数

    嵌套函数(埋个装饰器)

    P70

    函数参数相关

    return后面的语句不执行

    没有return的函数返回值为none

    改变形参得值是否会使实参值改变,取决于参数的数据类型:

    参数是不可变数据类型,则不会改变

    参数是可变数据类型,则会改变

    位置参数(位置一一对应)

    关键字参数(键值对形式,用等号连接,可以不安位置顺序对应)

    默认值参数(调用时没有传参数则使用默认值,默认值在函数声明时指定)

    不定长参数:

    *args传递元组形式不定长参数;**kwargs传递字典类型的不定长参数,要求写在*args之后

    lst=[1,2,3,4,5]

    printinfo(1,*lst)------此处*表示将lst自动解包,作为N个参数传递给函数

    P71

    想在函数给全局变量重新赋值(=),需要在函数内使用关键字global 变量;读取全局变量不需要加;如果调用该变量的方法不是重新赋值,比如修改列表,可以不用加,如 list.append

    如果函数内有与全局变量重名的变量,则需要用global加以区分;

  • 相关阅读:
    bzoj千题计划239:bzoj4069: [Apio2015]巴厘岛的雕塑
    bzoj千题计划238:bzoj3668: [Noi2014]起床困难综合症
    hdu 3022 Sum of Digits
    在RAC中,当私有网线拔了后,会怎么样?
    CVU介绍
    oracle rac 日志体系结构!
    oracle 内存结构 share pool sql解析的过程
    Oracle逻辑读详解
    共享池之八:软解析、硬解析、软软解析 详解一条SQL在library cache中解析涉及的锁
    共享池之六:shared pool latch/ library cache latch /lock pin 简介
  • 原文地址:https://www.cnblogs.com/mercycnblog/p/15934558.html
Copyright © 2020-2023  润新知