测试学习笔记(P51-P71教程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加以区分;

 

posted @ 2022-02-25 09:33  hello_mercy  阅读(127)  评论(0编辑  收藏  举报