python学习笔记 - 函数,集合,包,模块

一、函数

a=1, b=2, 交换值

定义中间量c,C=None,

a,b=b,a

a,b,c=1,2,3

sys.argv

实现指定的某些功能,使用的时候可以直接调用,简化代码,提高代码复用性

def fun():#定义一个函数,后面是函数名
                print("Hello World")#函数体

例如:

1、def sayHello():

print(“Hello World”)

sayHello()  --调用

2、def sayName(name):  --形参

print(’welcome to log in %s’%name)

sayName(‘Alice’)  --实参

3、def calc(a,b):  --必填参数

print(‘结果是%d’%(a+b))

calc(2,3)

4、链接mysql

def conn_mysql(host,username,passwd,port=3306)  --port默认值参数,非必填,需要写在必填参数后面

print(‘已经连接mysql’)

print(‘ip’,host)

print(‘username’, username)

print(‘passwd’, passwd)

print(‘port’, port)

conn_mysql(‘1920168.0.0’,’alice’,’123456’)  --位置参数,一一对应

conn_mysql(‘1920168.0.0’,’alice’,’123456’,3309)  --port3309

conn_mysql(host=‘1920168.0.0’,

passswd=’123456’,

username=’alice’)  --关键字参数,位置可不对应

5、def myfun(*arg):  --可变参数、参数组,不限制参数个数,非必填

print(arg)

myfun(‘alice’,’emily’,’8080’)

关键字参数必须放在最后,可变和默认值参数没有先后顺序

顺序:必填参数、默认值参数、参数组、关键字参数

6、def myfun(**args):  --字典,关键字参数

print(args)

myfun(name=‘alice’,name1=’emily’,port=’8080’)

--输出‘name’:’alice’,’name1’:Emily,’port’:8080

7、def calc(a,b):  --乘法计算器

return a*b

//print(a*b) -- 函数里面,return后面的内容不执行,所以不会打印

res=calc(3*4)

print(res/2)

函数不写return,默认返回none

8、def calc(a,b):

c=a*b  --局部变量

print(c)

calc(5,4)

print(c)

全局变量定义在首行

打印的时候先找里面的关键词,优先打印

修改全局变量的值,用global,先声明这个变量是一个全局变量,int、string、元祖

高阶函数,一个函数的入参是一个函数

二、集合

集合也是一种数据类型,类似列表,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据

集合的作用:

1、它可以把一个列表中重复的数据去掉,而不需要你再写判断

2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合

list = [2,3,1,2,3,4]

s_list = set(list)#这样就定义了一个集合

set1 = set([1,3,4,5,6])#这种方式和上面的都是把list转换成一个集合

set2={‘hehe‘,‘hehe1‘,‘hehe3‘}#这种方式是直接定义一个集合

intersection  –取交集

&  --取交集

union  --取并集(合并去重)

|  --取并集

difference  --取差集

三、包、模块 OS sys random time

Import os,sys  --内置模块

每个python文件就是一个模块,import 文件名(没有.py)

导入模块的本质,就是把python文件拿过来执行一次

环境变量的作用就是让一个命令可以在哪里都能使用

python setup.py install

修改pip源:

pip.ini

[global]
index-url = https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com

pip uninstall

from pg.write_log import write_log  #直接导入包里面python文件里的函数
from pg import write_log  #导入包里面的某一个python文件

import json,requests
url=‘http://211.149.218.16:8081/get_user‘
res = requests.get(url).text
res_dic = json.loads(res)  #序列化,把json串转成字典

import os
print(os.getcwd())#取当前工作目录

os.chmod("/usr/local",7)#给文件/目录加权限
print(os.chdir("../"))#更改当前目录
print(os.curdir)#当前目录
print(os.pardir)#父目录
print(os.makedirs("/usr/hehe/hehe1"))#递归创建文件夹,父目录不存在时创建父目录
print(os.removedirs("/usr/hehe/hehe1"))#递归删除空目录
print(os.mkdir("test1"))#创建文件夹
print(os.rmdir("test1"))#删除指定的文件夹
print(os.remove("test"))#删除文件
print(os.listdir(‘.‘))#列出一个目录下的所有文件
os.rename("test","test1")#重命名
print(os.stat("len_os.py"))#获取文件信息
print(os.sep)#当前操作系统的路径分隔符
print(os.linesep)#当前操作系统的换行符
print(os.pathsep)#当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
print(os.environ)#当前系统的环境变量
print(os.name)#当前系统名称
print(os.path.abspath(__file__))#获取绝对路径
print(os.path.split("/usr/hehe/hehe.txt"))#分割路径和文件名
print(os.path.dirname("/usr/local"))#获取父目录
print(os.path.basename("/usr/local"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名
print(os.path.exists("/usr/local"))#目录/文件是否存在
print(os.path.isabs("."))#判断是否是绝对路径
print(os.path.isfile("/usr/local"))#判断是否是一个文件
print(os.path.isdir("/usr/local"))#是否是一个路径
print(os.path.join("/root",‘hehe‘,‘a.sql‘))#拼接成一个路径
print(os.path.getatime("len_os.py"))#输出最近访问时间
print(os.path.getmtime("len_os.py"))#输出最近访问时间

sys

sys.argv           命令行参数List,第一个元素是程序本身路径    
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdout.write(‘please:‘)#向屏幕输出一句话
val = sys.stdin.readline()[:-1]#获取输入的值

random
print(random.random())#随机浮点数,默认取0-1,不能指定范围
print(random.randint(1,20))#随机整数
print(random.randrange(1,20))#随机产生一个range
print(random.choice(‘x23serw4‘))#随机取一个元素
print(random.sample(‘hello‘,2))#从序列中随机取几个元素
print(random.uniform(1,9))#随机取浮点数,可以指定范围
x = [1,2,3,4,6,7]
random.shuffle(x)#洗牌,打乱顺序,会改变原list的值
print(x)
print(string.ascii_letters+string.digits)#所有的数字和字母

import datetime,time        
print(time.timezone)#和标准时间相差的时间,单位是s
print(time.time())#获取当前时间戳
print(time.sleep(1))#休息几s

时间: 2024-12-24 05:37:42

python学习笔记 - 函数,集合,包,模块的相关文章

【Python学习笔记】集合

概述 集合的一般操作 内建函数进行标准操作集合 数学运算符进行标准操作集合 集合的应用 概述 python的集合(set)是无序不重复元素集,是一种容器.集合(set)中的元素必须是不可变对象,即可用被哈希,这和字典的键是一样的,所以列表.字典等可变对象不可作为set的元素.集合不提供索引或切片操作,即对象不存在相关的键值.python中的集合分为两种:set是可变的集合,frozenset是不可变的集合. 集合的创建使用关键字set或frozenset, 参数可以是列表.字符串或元组等不可变对

python 学习笔记 函数和类

与java类似 python的函数也是出于可以复用才使用的 如果一段代码没有复用的价值就可以不用函数 一般的函数可以定义成这样: def func(a,b=123,*arg,**args): for x in arg:#arg是一个list print x for x,y in args.items():#args是一个dict print x,y print 'a:',a print 'b:',b func(1,1,2,3,4,c=1,d=2) 结果: 2 3 4 c 1 d 2 a: 1 b

python学习笔记(集合的使用、文件操作、字符编码与转码、函数)

集合 集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. 集合元素(set elements):组成集合的成员 为什么需要集合? 集合的作用 1 .列表去重复数据 按照现有知识的解决思路:先设置空列表,然后使用for寻获,把需要去重的列表的第一个数据放到新列表中,然后依次取出第二个数据,把第二个数据和第一个数据作比较,如果不一样,则存入新列表中:以此类推,每取一次都要和新列表中的数据作对比,不一样的则添加入新列表中. 2. 关系测试 比如有学员同时报了python班和l

Python学习笔记-Day3-set集合操作

set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(tuple),6.字典(dict),7.集合(set),8.布尔型(bool) 1.集合创建 2.集合操作   2.1 set.add 添加元素 往set中添加一个元素只有set中不存在该元素时,才会加入该元素   2.2 set.clear 清空所有元素 从set中移除所有元素   2.3 set.

Python学习笔记六(常用模块、面向对象基础)

一.random模块 import random print(random.random()) #0-1之间的小数 print(random.randint(1,5)) #1-5之间(包括1和5)的整数 print(random.randrange(1,5)) #1-5之间(包含1,不好包含5)的整数 print(random.choice(['a','b','c'])) #给定列表中任意元素 print(random.sample(['a','b','c','d'],2)) #给定列表中任意n

Python学习笔记十六_模块结构调整

一.什么是模块结构调整 当一个脚本中有大量的配置.方法及接口时,脚本往往显得十分臃肿.为了代码更易读,可以将一个繁杂的脚本根据不同的功能放在不同的文件夹中分类管理,即模块结构调整. 二.模块结构调整实例 下面根据一个具体的例子来看一下如何拆分调整代码 1.根据正常人的思维写代码完成功能 代码需求: (1) 注册接口: (a) 写一个注册接口,密码存成密文 (b) 数据存到redis,redis的key用string类型 (c) Amy  7869d295e566295b51eec5d6bed67

python学习笔记-Day7(configparser模块、shutil、压缩与解压模块、subprocess)

configparser模块 # configparser用于处理特定格式的文件,其本质上是利用open来操作文件 # 下边我们就创建这种特定格式配置文件,来操作以下这里模块方法 --------------test.conf---------------- [section1] # configparser 会认定以中括号括住的为一个节点(node) k1 = 111 # 节点下,每一行配置文件为键值对存在(也可以写成 k2:123) k2 = v2 k3 = 123 k4 = True k1

python学习笔记(图表生成matplotlib模块下载安装)

最近博主在找工作换新环境.昨天电话面试中问到python中threading模块进行接口性能测试的时候.如何生成性能测试报告 我现在还停留在打印在屏幕中.所以今天想着是否可以生成相应的性能测试报告 首先想到的是python是否支持生成图表.有很多模块可以支持 博主这里就先试一试matplotlib模块 具体这个模块的来源.我就不细说明了.直接就是下载安装 这里给出pypi的下载地址: https://pypi.python.org/pypi/matplotlib/ 根据需要的版本下载对应的安装包

Python学习笔记——函数

1.定义函数: 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回.如果一个函数什么也不做,需要用到pass语句(C,Java中可以直接不写代码,python必须要写pass占位,否则报错). def my_abs(x): if x >= 0: return x else: return -x 2.参数检查: isinstance(object, classinfo),其第一个参数为对象,第二