我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python随笔(三)、python基础

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python随笔(三)、python基础

一、练习:

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: dictionary.py
@time: 2017/11/19
"""
'''
有如下集合[11,22,33,44,55,66,77,88,99,110,121,132,143,154,165,176,187],将所有大于66的值保存在字典的第一个key中,将小于66的值保存在第二个key的值中
即:{'k1':大于66,'k2':小于66}
'''
######方法一
#dic = {}
#all_list = [11,22,33,44,55,66,77,88,99,110,121,132,143,154,165,176,187]
#for i in all_list:
#    if i > 66:
#        if "k1" in dic.keys():
#            dic["k1"].append(i)
#        else:
#            dic['k1'] = [i,]
#    else:
#        if "k2" in dic.keys():
#            dic["k2"].append(i)
#        else:
#            dic['k2'] = [i,]
#print(dic['k1'])
#print(dic['k2'])

#方法二、
all_list = [11,22,33,44,55,66,77,88,99,110,121,132,143,154,165,176,187]
dic = {'k1':[],'k2':[]}
for item in all_list:
   if item>66:
       dic["k1"].append(item)
   else:
       dic["k2"].append(item)
print(dic['k1'])
print(dic['k2'])

set集合:

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: set.py
@time: 2017/11/20
"""
#爬虫
s1 = set()
s1.add("alex")
print(s1)
s1.add('alex')
print(s1)

返回结果:

{'alex'}

{'alex'}

#访问速度快

#天生解决了重复问题


clear

copy


过滤重复功能:

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: set.py
@time: 2017/11/20
"""
#爬虫
s2 = set(["alex","eric","tony","alex"])
print(s2)

返回结果:

{'eric', 'alex', 'tony'}


difference

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: set.py
@time: 2017/11/20
"""
#爬虫
s2 = set(["alex","eric","tony","alex"])
print(s2)

s3 = s2.difference(["alex","eric"])
print(s3)

返回结果:

{'tony', 'eric', 'alex'}

{'tony'}

difference

difference_update

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: set.py
@time: 2017/11/20
"""
#爬虫
#去除重复的集合
s2 = set(["alex","eric","tony","alex"])
print(s2)
#与s2不相同的部分
s3 = s2.difference(["alex","eric"])
print(s3)
#删除当前set中的所有包含在参数集合里的
s4 = s2.difference_update(["alex","eric"])
print(s4)

返回结果:

{'tony', 'eric', 'alex'}

{'tony'}

None


intersection    取交集

isdisjoint         如果没有交集返回true

issubset           是否是子集

issuperset        是否是父集

pop                  移除

remove             移除

symmetric_difference_update   差集

union                并集

update              更新


# 数据库中原有
old_dict = {
    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 },
    "#2":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }
    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }
}

  

# cmdb 新汇报的数据
new_dict = {
    "#1":{ 'hostname':c1, 'cpu_count'2'mem_capicity'800 },
    "#3":{ 'hostname':c1, 'cpu_count'2'mem_capicity'80 }
    "#4":{ 'hostname':c2, 'cpu_count'2'mem_capicity'80 }

}

交集:要更新的数据

差集:原来,要更新

1、原来没有  --》 新加入

2、原来有      --》 更新

3、新无,原来有  --》原来删除


三个列表:

    要更新的数据

    要删除

    要添加


#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: set.py
@time: 2017/11/20
"""


# 数据库中原有
old_dict = {
   "#1":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },
   "#2":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },
   "#3":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },
}

# cmdb 新汇报的数据
new_dict = {
   "#1":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 800 },
   "#3":{ 'hostname':"c1", 'cpu_count': 2, 'mem_capicity': 80 },
   "#4":{ 'hostname':"c2", 'cpu_count': 2, 'mem_capicity': 80 },
}
old = set(old_dict.keys())
new = set(new_dict.keys())
#更新的集合
update_set = old.intersection(new)
#删除的集合
delete_set = old.symmetric_difference(new)
#添加的集合
add_set = new.symmetric_difference(update_set)
print(update_set)
print(delete_set)
print(add_set)
print(old)
print(new)

返回结果:

{'#1', '#3'}

{'#2', '#4'}

None

{'#1', '#2', '#3'}

{'#4'}

例子:

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: s1.py
@time: 2017/11/20
"""
s1 = set([11,22,33])
s2 = set([22,44])
ret1 = s1.difference(s2)
ret2 = s1.symmetric_difference(s2)
print(ret1)
print(ret2)

返回结果:

{33, 11}

{33, 11, 44}


collections系列

http://www.cnblogs.com/wupeiqi/articles/5115190.html

1.png

collections   计数器     

most_common      最多的次数

element                 所有的元素

2.png

3.png

4.png

orderedDict   有序字典

1.png

pop

popitem

setdefault     设置默认值

update         更新原来的数据

1.png

默认字典:

2.png

可命名元祖:创建类

2.png

双向队列(deque)

https://www.cnblogs.com/zhenwei66/p/6598996.html

单向队列(queue),需要导入queue模块

https://www.cnblogs.com/zhenwei66/p/6599136.html


邮件模块:

#!usr/bin/env python 
#-*- coding:utf-8 _*-  
"""
@author:Administrator
@file: mail.py
@time: 2017/12/19
"""
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def mail():
   ret = True
   try:
       msg = MIMEText('how are you,you are a good men','plain','utf-8')
       msg["From"] = formataddr(["陈继松",'chenjisong@wtoip.com'])
       msg["To"] = formataddr(["406564728@qq.com",'406564728@qq.com'])
       msg['Subject'] = "主题"

       server = smtplib.SMTP("smtp.wtoip.com",25)
       server.login("chenjisong@wtoip.com","**************")
       server.sendmail('chenjisong@wtoip.com',["406564728@qq.com",], msg.as_string())
       server.quit()
       return ret
   except Exception:
       ret = False
       return ret

ret = mail()
if ret:
   print('发送成功')
else:
   print('发送失败')


默认参数:

def show(a1,a2=999,a3=333,a4=444,a5=555):
   print(a1,a2,a3,a4,a5)
show(111,222,333,444,555)


指定参数:

def show(a1,a2):
   print(a1,a2)
show(a2=33334,a1=555556)

动态参数,个数无限制
def show(**arg):
   print(arg,type(arg))
show(a1=123,a2=456,a3=789)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
{'a1': 123, 'a2': 456, 'a3': 789} <class 'dict'>

动态参数(强强联合):
def show(*args,**kwargs):
   print(args,type(args))
   print(kwargs,type(kwargs))
show(11,222,33,44,n1=88,alex="sb")
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
(11, 222, 33, 44) <class 'tuple'>
{'n1': 88, 'alex': 'sb'} <class 'dict'>

def show(*args,**kwargs):
   print(args,type(args))
   print(kwargs,type(kwargs))
l = [11,22,33,44]
d = {'n1':88,'alex':'sb'}
show(l,d)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
([11, 22, 33, 44], {'n1': 88, 'alex': 'sb'}) <class 'tuple'>
{} <class 'dict'>

如果我想把l放入列表里面,把d放入字典里面,则:
def show(*args,**kwargs):
   print(args,type(args))
   print(kwargs,type(kwargs))
l = [11,22,33,44]
d = {'n1':88,'alex':'sb'}
show(*l,**d)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
(11, 22, 33, 44) <class 'tuple'>
{'n1': 88, 'alex': 'sb'} <class 'dict'>

22 python s12 day3 使用动态参数实现字符串格式化
1、
alex = sb的三种方式:
s1 = "{name} is {acter}"
d = {'name':'alex','acter':'sb'}
#result = s1.format(name='alex',acter='sb')
result = s1.format(**d)
print(result)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
alex is sb

2、字符串格式化
s1 = "{name} is {acter}"
result = s1.format(name='alex',acter='sb')
print(result)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
alex is sb

3、
s1 = "{0} is {1}"
l = ['alex','sb']
result = s1.format('alex','sb')
result = s1.format(*l)
print(result)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
alex is sb

23 python s12 day3 Python lambda表达式
def func(a):
   a +=1
   return a
result = func(4)
print(result)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
5
lambda表达式,简单函数的表示方式:
func = lambda a: a+1
#创建形式参数a
#函数内容a+1,并把结果return
ret = func(99)
print(ret)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
100

24、内置函数:
#绝对值:
a = -100
b = a.__abs__()
print(b)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
100

更多详见:http://www.runoob.com/python/python-built-in-functions.html

map的巧用:
li = [11,22,33,44]
new_li = map(lambda x:x+100,li)
l = list(new_li)
print(l)
返回结果:
E:\Python36\python.exe C:/Users/Administrator/PycharmProjects/2017-12-10/2017-12-19/s4.py
[111, 122, 133, 144]





免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python随笔(三)、python基础

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python随笔(三)、python基础

一、练习:#!usr/bin/env python #-*- coding:utf-8 _*-  """ @author:Administrator @file: dictionary.py@time: 2017/11/19 """'''有
2023-01-31

Python随笔(二)、python基础

源自:http://www.cnblogs.com/wupeiqi/articles/4906230.html一、接收执行参数sys.argv   接收执行参数的函数#!usr/bin/env python #-*- coding:utf-
2023-01-31

Python随笔(四)、python基础

05 python s12 day4 迭代器原理及使用什么是迭代:可以直接作用于for循环的对象统称为可迭代对象(Iterable)。*可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator)。所有的Iterabl
2023-01-31

Python随笔(一)、python基础

在pycharm下设置自己的模板:在File---settings---File and Code Templates---Python script 脚本里添加:#!/usr/bin/env python #-*- coding:utf-
2023-01-31

python基础总结--随笔

1、python语言的特点1)高级     至少比c和c++都高级,呵呵 2)面向对象   Python 绝不想Java 或Ruby 仅仅是一门面向对象语言,事实上它融汇了多种编程风格 3)可升级      Python 提供了基本的开发模
2023-01-31

[PYTHON]python 基础笔记(

10. 编写一个Python脚本问题我提出的问题是: 我想要一个可以为我的所有重要文件创建备份的程序。尽管这是一个简单的问题,但是问题本身并没有给我们足够的信息来解决它。进一步的分析是必需的。例如,我们如何确定该备份哪些文件?备份保存在哪里
2023-01-31

Python基础笔记3

1.Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档:http://docs.python.org/3/libra
2023-01-31

Python基础语法(三)

1. 数值型数据结构1.1 要点在之前的博客也有提到,数值型数据结构在这里就不过多介绍了。在这里提及一些需要知道的知识点。int、float、complex、bool都是类,1\3.14\2+3j都对象(即实例)。这也符合Python一切皆
2023-01-31

python 随笔

# -*- coding: cp936 -*-import os,sys,time,smtplib,poplib#python -m BaseHTTPServer 80 在运行里面运行############################
2023-01-31

python之基础篇(三)

防伪码:忘情公子著python编程基础及编程风格:  语句和语法    注释:      #:可以从一行的任何地方开始    续行:      \:只能在行尾      ''':闭合操作符,单一语句跨多行。实现多行注释、内置文档等功能   
2023-01-31

Python随笔day01

环境变量的配置:  配置Python的安装目录到path变量中,例如C:\Python37标识符的命名规则:       变量名只能以数字,字母,下划线组成。       不能以数字开头,保留字不能被使用。       建议使用下划线分割s
2023-01-30

python随笔:range

range()是一个用来创建算数级数序列的通用函数。python3里,有自己的类型,range型。暂时的理解,实际是一个(32位电脑/python (-2**31,+2**31)),(64位电脑/python (-2**63,+2**63)
2023-01-31

Python学习基础笔记(全)

换博客了,还是csdn好一些。Python学习基础笔记1.Python学习—linux下Python3的安装2.Python学习—数据类型、运算符、条件语句3.Python学习—循环语句4.Python学习—字符串5.Python学习—列表
2023-01-31

Python基础入门笔记(一)

前言(认识Python)既然学习 Python,那么至少得了解下这门语言,知道 Python 代码执行过程吧。Python 的历史有兴趣的百度百科下就有,这个不多说了。1、我们先来了解下什么是解释型语言和编译型语言?计算机是不能够识别高级语
2023-01-31

python学习笔记01-基础

数据类型:(1)整数(2)浮点数整数和浮点数在计算机内部存储的方式是不同的(3)字符串字符\本身也要转义,所以\表示的字符就是\Python还允许用r''表示''内部的字符串默认不转义(4)布尔值在Python中,可以直接用True、Fal
2023-01-31

python基础概念学习笔记

本次整理python数据类型为:列表list字典dict元组tuple集合set其中涉及概念:模组module类class对象object——————————————————————————————————————————数据类型type
2023-01-31

《Python网络编程基础》笔记

python网络编程基础                          ==================Author: lujun9972 Date: 2013-03-08 22:29:20 CSTTa
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录