您的位置:首页 > 编程语言 > Python开发

python - 函数,集合,包,模块

2020-02-17 12:15 519 查看

一、函数

 

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

转载于:https://www.cnblogs.com/yxht/p/6100873.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
dianxin2006 发布了0 篇原创文章 · 获赞 0 · 访问量 22 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: