python入门(五)
一.函数返回值
1.函数如果返回多个值,他会把这几个值放到一个元组里面
2.也可以用多个变量来接收
返回多个值放到元组里面
def say():
num1=1
num2=2
num3=3
return num1,num2,num3
res = say()
print(res)
多个变量接收
res1,res2,res3 = say()
print(res1)
print(res2)
print(res3)
二.匿名函数
匿名函数,这个函数功能很简单,只用一次
lambda
res = lambda x:x+1#冒号后面的是函数体,也是函数的处理逻辑,冒号前面的返回值
print(res(1))
三.列表生成器
import random
red_num= random.sample(range(1,34),6)
#外面是小括号的话,他就不是一个list了,他是一个生成器
# 生成器比list要节约内存,他是每次循环的时候,会根据规则计算一个元素,放到内存里面。
# list他是把所有的元素都放在内存里面。
l = [i for i in range(1,101,2)]#生成100以内的奇数
new_num = [str(num).zfill(2)for num in red_num] #列表生成式
print(new_num)
print(l) #生成器例子
l = (i for i in range(1,101,2))
for l2 in l:
print(l2)
print(l.__next__)#表示每次打印一个值 # #下面的这一串与上面的【列表生成式】的作用一样
for num in red_num:
temp = str(num).zfill(2)
new_num.append(temp)
print(new_num) # #练习一(列表生成式)
a = 5
b = 4
if a>b:
c= a
else:
c= b c = a if a>b else b #三元表达式
四.字典排序
d = {'a':4,'c':2,'b':3} #字典是无序,直接对字典排序是不存在的
print(d.items())
print(sorted(d.items()))#sorted帮我们循环调用生成了一个二维数组,默认是按照key排序的
res=sorted(d.items(),key=lambda x:x[0])#根据key排序
res1=sorted(d.items(),key=lambda x:x[1])#根据value排序
print(res)
print(res1) for k,v in res:#循环二维数组
print(k,v) l =[
[1,2,3,4],
[1,2,4,3]
]
for a,b,c,d in l:
print(a,b,c,d) def my(name:str):
print(name)
my(['123','456'])
五.os常用模块
# os模块常用方法:
os.listdir("d:\\")#列出目录下所有的文件夹和文件
os.remove()#删除文件
os.rename(ols,new)#重命名
print(os.sep)#当前操作系统的路径分隔符
print(os.path.dirname("e:\\syz\\lpy-code"))#获取父目录,获取上一级目录
print(os.path.exists("/user/local"))#目录/文件是否存在
print(os.path.isfile("lpy.py"))#判断文件是否存在,判断是不是文件
print(os.path.isdir("e:\\syz"))#是否是一个路径,目录是否存在
size = os.path.getsize('x.py')#获取文件的大小
res = os.system('ipconfig')#执行操作系统命令,但获取不到结果
res = os.popen('ipconfig').read()#可以获取到命令执行的结果
print(os.path.abspath(__file__))#获取绝对路径
print(os.path.dirname("e:\\syz\\lpy-code"))#获取父目录,获取上一级目录
print(os.path.isfile("lpy.py"))#判断文件是否存在,判断是不是文件
print(os.path.isdir("e:\\syz"))#是否是一个路径,目录是否存在
size = os.path.getsize('x.py')#获取文件的大小
# 可用于限制上传文件大小
print(os.path.join("root",'hehhe','a.sql'))#拼接成一个路径
for abs_path,dir,file in os.walk('E:\syz\syz-code\day6'):
print(abs_path,dir,file)
# abs_path当前循环的绝对路径
# dir目录下所有的文件夹[ ]
# file目录下所有的文件[]
六.导入模块的顺序与方法
python导入模块时的顺序:
1.从当前目录下找需要导入的python文件,第一顺序
2.从python的环境变量中找 sys.path,第二顺序
导入模块的实质:
就是把导入的这个python文件从头到尾执行一遍
#方法一:
import lpy
print(lpy.name)
lpy.my()
#方法二:
from lpy import my,name
my()
print(name)
# 方法三:
from lpy import * #所有的,最好不用这个方法,可能导入多个模块不好判断后面调用的函数属于哪个模块
my()
print(name)
七.sys模块
import sys
print(sys.platform)#判断操作系统
print(sys.path)#python的环境变量
sys.path.append('../day5')#导入 其他目录下的模块,要先把目录加入环境变量
print(sys.path)
import zuoye
sys.path.insert(0,word,'E:\syz\syz-code\day5')
print(sys,path)
print(sys.argv)#用来获取命令里面运行python文件的时候传入的参数,它是一个list,这个list默认就有一个参数,就是当前的文件名
八.时间模块
1.时间戳:从unix元年到现在过了多少秒
2格式化好的时间
# 先转成时间元组
import time
print(time.time())#获取当前时间戳
# time.sleep(10)
today = time.strftime('%Y-%m-%d %H:%M:%S')
print(today)
print(time.gmtime())#默认取的是标准时区的时间
s = print(time.localtime(1514198608))#取的是当前时区的时间
print(time.strftime('%Y-%m-%d %H:%M:%S',s))
# 时间戳转换时间元组
# 1.时间戳转成时间元组 time.localtime()
# 2.再把时间元组转成格式化的时间
def timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
# 1.默认返回当前格式化好的时间
# 2.传入时间戳的话,把时间戳转化成格式化好的时间,返回
if timestamp:
time_tuple= time.localtime(timestamp)
res = time.strftime(format,time_tuple)
else:
res = time.strftime(format)#默认取当前时间
return res 2018-4-21
tp = time.strptime('2018-4-21','%Y-%m-%d')#把格式化好的时间转成时间元组的
print(time.mktime(tp))#把时间元组转成时间戳
def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):
#20180421165643
#默认返回当前时间戳
if str:
tp = time.strptime(str,format)#转成时间元组
res = time.mktime(tp)#再转成时间戳
else:
res = time.time()#默认取当前是按戳
return int(res) print(strToTimestamp())
print(strToTimestamp('20181129183859')) import datetime
print(datetime.datetime.today())#获取当前时间精确到秒
print(datetime.date.today())#精确到天
res = datetime.date.today()+datetime.timedelta(days=5)#获取到5天后,-5五天前
res = datetime.date.today()+datetime.timedelta(minutes=5)#获取到5分钟后,-5五天前
print(res)
九.加密模块
import hashlib
# 字符串不能直接加密 m = hashlib.md5()
passwd = '123'
passwd.encode()#把字符串专车个bytes类型
m.update(passwd.encode())#不能直接对字符串加密,要先把字符串转成bytes类型
print(m.hexdigest()) def my_md5(str):
new_str = str.encode()#把字符串转成bytes类型 m = hashlib.md5()#实例化md5对象
m.update(new_str)#加密
areturn m.hexdigest()#获取结果返回
m = hashlib.sha256()
m.update(passwd.encode())
十.操作mysql
# 1.连接上数据库 账号,密码,IP,端口号,数据库
# 2.建立游标
# 3.执行sql
# 4.获取结果
# 5.关闭游标
# 6.连接关闭
import pymysql
coon = pymysql.connect(
host='118.24.3.40',user='jxz',passwd='123456',
port=3306,db='jxz',charset='utf8'
#port必须写成int类型
#charset这里必须写成utf8
)
cur = coon.cursor()
# cur.execute('select * from stu;')
cur.execute('insert into stu (id,name,sex) VALUE (1,"koukou","女");')
# delete update insert 必须commit
coon.commit()
res = cur.fetchall()
print(res)
cur.close()
coon.close()
十一.excel模块
import xlwt
book = xlwt.Workbook()#新建一个excel
sheet = book.add_sheet('sheet1')#加sheet页
sheet.write(0,0,'姓名')#行,列,要写入的内容
sheet.write(0,0,'年龄')
sheet.write(0,0,'性别')
book.save('stu.xls')
python入门(五)的更多相关文章
- Python入门 五、学着机器思考
正则表达式(1) import re text = "Hi,I am Shirley Hilton.I am his wife." m = re.findall(r"hi ...
- Python爬虫入门五之URLError异常处理
大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...
- Python爬虫教程——入门五之URLError异常处理
大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...
- 转 Python爬虫入门五之URLError异常处理
静觅 » Python爬虫入门五之URLError异常处理 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的服务器 服务器不存在 在代码中, ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- 2018-06-21 中文代码示例视频演示Python入门教程第五章 数据结构
知乎原链 续前作: 中文代码示例视频演示Python入门教程第四章 控制流 对应在线文档: 5. Data Structures 这一章起初还是采取了尽量与原例程相近的汉化方式, 但有些语义较偏(如T ...
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- Python自动化运维之1、Python入门
Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...
- python入门篇
第一篇:python入门 第二篇:数据类型.字符编码.文件处理 第三篇:函数 第四篇:模块与包 第五篇:常用模块 第六篇:面向对象 第七篇:面向对象高级 第八篇:异常处理 第九篇:网络编程 第十篇:并 ...
- Python入门经典. 以解决计算问题为导向的Python编程实践
Python入门经典. 以解决计算问题为导向的Python编程实践(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1juLsew8UiOErRheQPOuTaw 提取 ...
随机推荐
- flutter Dynamic updates 热更新 版本更新
比较新的解释 https://juejin.im/entry/5c85c959f265da2d881b5eb8 https://my.oschina.net/u/1464083/blog/297880 ...
- win10 右键添加“在此打开powershell”
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\ 上图中的字符串,直接去下图中的位置复制过来就好
- Clover 安装 Mac 系统更新 (原版黑苹果)
关于使用原版镜像(即 .dmg )安装黑苹果的升级,笔者写写自身经验吧. 在Clover启动的界面中与Mac OS有关的启动菜单有以下这些: Boot FileVault Prebooter from ...
- Vue-admin工作整理(十): Vuex-Actions(模拟接口请求实现组件字段更新)
思路:通过提交一个 mutation,而不是直接变更状态,它可以包括异步操作,通过请求接口,定义一个方法,第一个参数为对象,在里面能够提取到一些东西,比如:commit,这是一个方法,调用这个comm ...
- 使用TLS证书保护Docker
使用TLS证书保护Docker 当我们使用远程调用docker时,未设置TLS的docker,将可以被任何人调用,这是极其危险的. 在阿里云上跑的docker,这次就被不怀好意的人扫描到了默认端口,2 ...
- 微信小程序点击列表添加 去除属性
首先说一下场景:我所循环的数据是对象数组,设置了一个属性当作标记,通过这个标记的值判断是否给改元素添加样式 wxml: <view> <view wx:for="{{lis ...
- 自身使用的springboot项目中比较全的pom.xml
在学习的时候常建新的项目,mark下商用的jar <dependency> <groupId>org.mybatis</groupId> <artifactI ...
- 在线批量将gps经纬度坐标转换为百度经纬度坐标
1.首先打开百度api示例页面: 在浏览器地址栏中输入:http://developer.baidu.com/map/jsdemo.htm#a5_3 2.修改代码 如下图,将需要批量转换的坐标,按规则 ...
- 多个vlan之间路由
通过这节课,我们学习到了如何利用两个交换机,创建多个vlan口,将多台Pc之间互通今天学习到了新的指令:interface vlan-interfacee ? ...
- nodejs window平台上 以服务运行
刚学nodejs 想使用 sc create 来创建服务,但是倒腾了很久没有弄出来,创建是成功了,使用 net start 启动服务报错,没有控制功能.后来网上找了一下 发现这个东西:nssm 使用 ...