Python博客导航

第一部分 - Python程序设计基础


第一章 - Python介绍

1.1 - Python简介

1.2 - Python准备

1.2 - 创建虚拟环境

第二章 - Python基础(建设中)

2.1 - 编写代码模式

2.2 - 基础语法

2.3 - 基础语法-标准数据类型

第三章 - 基础数据类型(待建)

3.1 - 数字

3.2 - 字符串

3.3 - 列表

3.4 - 元组

3.5 - 字典

3.5 - 集合

第四章 - 选择与循环结构(待建)

4.1 - 条件控制

4.2 - 循环

4.3 - 迭代器与生成器

第五章 - 函数、模块、包(待建)

第六章 - 文件操作




第二部分 - Python面向对象(在更新)

第七章 -

第八章 -

第九章 -

第十章 -

第十一章 -

第十二章 -

本文转载于网络 如有侵权请联系删除

相关文章

  • 从微软到华为,国际安全专家李雨航的身份识别大视野

    比尔·盖茨给李雨航下达的KPI,是黑客从互联网侵入微软源代码的成功率等于零。 那一年,仍是微软视窗业务总管的李雨航入选了SharedSource项目,成为技术团队的负责人。这个著名的源代码共享项目,由比尔·盖茨亲自领导。微软希望通过该项目,将Windows源代码从内网Intranet迁移至互联网Internet,以应对开源社区颠覆性的开发方式和影响。对于李雨航来说,这个看似平常的岗位调动,却成为了他未来二十年网络安全研究生涯的开端。主持项目那短短的一段时光,不仅改变了他的兴趣,还改变了他之后的职业取向。思考的起点:寻找最接近数据源的保护SharedSource项目最初的1.0架构,依托于微软IT部门外网(Extranet)进行安全防御。对此,李雨航很有几分自信——这里是微软,世界顶级软件公司的安防,几近于固若金汤。在李雨航的邀请下,一家渗透测试公司推荐的全球顶级白帽黑客对此展开了攻击。“他是一位华人。”李雨航说。攻击前夜,他“面试”了他。最初,这位全球顶级白帽似乎并没有引起李雨航特别的重视:看起来,他和一位普通的工程师没有什么区别。“他不太可能攻击成功。”李雨航说。十余年后的今天,当李

  • STL之关联式容器map(二)

    本文续:STL之关联式容器map(一)3构造元素emplace()可以在适当的位置直接构造新元素,从而避免复制和移动操作。当容器中现有元素的键与这个元素的键不同时,才会构造这个元素。std::map<Name,size_t>people; autopr=people.emplace(Name{"Dan","Druff"},77);复制成员函数emplace()和insert()返回的pair对象提供的指示相同。pair的成员变量first是一个指向插入元素或阻止插入的元素的迭代器;成员变量second是个布尔值,如果元素插入成功,second就为true。emplace_hint()和emplace()生成元素的方式在本质上是一样的,除了必须为前者提供一个指示元素生成位置的迭代器,作为emplace_hint()的第一个参数。std::map<Name,size_t>people; autopr=people.emplace(Name{"Dan","Druff"},77); auto

  • Python爬取全球最大视频网站YouTube视频

    前言作为目前全世界最大的视频网站,它几乎全是用Python来写的 该网站当前行业内在线视频服务提供商,该网站的系统每天要处理上千万个视频片段,为全球成千上万的用户提供高水平的视频上传、分发、展示、浏览服务。2015年2月,央视首次把春晚推送到该网站。 今天,我们就要用Python来快速批量下载该网站的视频开发环境版本:python3.8 编辑器:pycharm2021.2 第三方模块:requests+tqdm所需模块importrequests importre importjson fromtqdmimporttqdm importos 复制开始代码编写请求数据headers={ 'cookie':'VISITOR_INFO1_LIVE=9qZVrzB27uI;PREF=f4=4000000&tz=Asia.Shanghai;_ga=GA1.2.621834420.1648121145;_gcl_au=1.1.1853038046.1648121145;NID=511=Zc1APdmEbCD-iqVNVgI_vD_0S3LVI3XSfl-wUZ

  • Gson与List<T>对象间的相亲之旅

    随着人们的生活水平的提高,连带着人与人之间的相亲渠道也进一步改善。最近偶尔看到几档相亲的综艺节目,不管是平民还是明星。可见相亲的热潮正扑面而来。这不Google与Java两个老家伙也坐不住了,分别想着自己排行285的儿子Gson与自己排行570的女儿List也该到了相亲的年龄了。于是Google与Java两个老油条会心一笑,一起策划了今天的这次相亲之旅。地下恋情Google回到家就将此事告诉了Gson,通知他明天就去AndroidStudio匆匆那年餐厅见面。Gson欲言欲止,好像另有隐情,但在父亲高大身躯与凌厉的眼神下答应了下来,而且父亲能够在这众多的儿子中想到自己,也不忍心拒绝父亲的善意。Gson回到房,躺着床上,脑海回想起自己与Java排行520的女儿Object的地下恋情。Gson与Object的第一次见面还是被它的Json字符串装扮所吸引。那一天她宛如一朵含苞待放的牡丹花,美而不妖,艳而不俗,千娇百媚,无与伦比。(以上均为Gson视角,请勿迷恋。以下为code视角)1{ 2"marquee":{ 3"content":"翠绿烟

  • vue项目的常用配置代码

    { //针对vue的格式化配置----依赖eslint、prettier、vetur等插件 //强制单引号 "prettier.singleQuote":true, "prettier.semi":false, //尽可能控制尾随逗号的打印 "prettier.trailingComma":"all", //开启eslint支持 "prettier.eslintIntegration":true, //保存自动化 "editor.formatOnSave":true, //保存时自动fix "eslint.autoFixOnSave":true, //添加vue支持 "eslint.validate":[ "javascript", "javascriptreact", { "language":"vue", "autoFix":

  • CCAI 2017 | 中国工程院院士李德毅:L3的挑战与量产

    中国工程院院士、中国人工智能学会理事长李德毅文/CSDN睢岭7月22-23日,在中国科学技术协会、中国科学院的指导下,由中国人工智能学会、阿里巴巴集团&蚂蚁金服主办,CSDN、中国科学院自动化研究所承办的2017中国人工智能大会(CCAI2017)在杭州国际会议中心盛大召开。在本次大会上,中国工程院院士、中国人工智能学会理事长李德毅为所有参会者带来了主题为《L3的挑战与量产》的报告。从“L3难在哪里?”、“如何突破L2的天花板?”、“量产L3的策略”三个方面出发,重点讨论了当前L3自动驾驶汽车所面临的挑战以及量产问题,精彩绝伦的演讲在现场引起了强烈的共鸣以及多次热烈的掌声。在此次演讲中,李德毅院士谈到了L3级别自动驾驶的难点,以及从L2向L3过渡过程中需要考虑的重要问题。他认为一定要界定清楚L3的基本问题到底是要解决车的问题,还是解决人的问题。 此外,L2到L3的过渡是掌控权由人到机器的转移过程。就此,李德毅院士提出了以下三点质疑: 自动驾驶等级转换点如何度量? 掌控权交接点如何度度量?掌控权交接过程中的事故如何度量? 以下内容根据李德毅院士本次主题报告整理,略有删减:

  • golang map 有序_有序化最重要的手法是

    大家好,又见面了,我是你们的朋友全栈君。要使得Map有序化,我们必须要对map的key进行排序,我们可以使用sort.Strings函数对字符串进行排序。packagemain import( "fmt" "sort" ) funcmain(){ slice1:=map[string]int{ "wangxiaoming":12, "liming":11, "fenglingling":16, "gaoxiao":15, "shengyun":14, } varnames[]string forname:=rangeslice1{ names=append(names,name) } sort.Strings(names) for_,name:=rangenames{ fmt.Printf("%s\t%d\n",name,slice1[name]) } }复制版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

  • VS或windows用代码产生GUID

    1//GUID生成代码 2GUIDguid; 3ZeroMemory(&guid,sizeof(guid)); 4::CoCreateGuid(&guid); 5charbufstring[32+1]={0}; 6sprintf_s(bufstring,"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",guid.Data1,guid.Data2,guid.Data3, 7guid.Data4[0],guid.Data4[1],guid.Data4[2],guid.Data4[3],guid.Data4[4],guid.Data4[5],guid.Data4[7],guid.Data4[7]); 8printf("%s\n",bufstring);复制 注:1、格式化字符串函数中"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",如果x为小写,则产生的GUID中包含的字母为小写字母。    如果x为大写字母,则产生的GUID中包含的字母为大

  • Gym 101480G BZOJ 4432 [CERC2015]Greenhouse Growth (链表)

    题目链接 (Gym)https://codeforces.com/gym/101480/standings (BZOJ)大人,时代变了。 题解 很神仙的题。 显然如果相邻两个数相等那么它们永远会相等,于是可以把相等的连续段缩到一起。 用链表维护所有的连续段,并对每个连续段维护以下信息: \(l\),\(r\):该连续段在原序列中对应的范围。 \(h\),\(t\):该连续段上次更新的时间为\(t\)、在那时的高度为\(h\). \(fa\),\(fb\):发生A/B类操作时该连续段是否会增高。 那么在不发生合并操作的前提下,时刻\(t_1\)该连续段的高度为\(h+fa(sa_{t_1}-sa_t)+fb(sb_{t_1}-sb_t)\),其中\(sa_i,sb_i\)分别表示前\(i\)个时刻A和B操作的个数。 对每一对相邻连续段,维护: \(ga\),\(gb\):发生A/B类操作时,两个连续段高度的差距是否会缩小(缩小的幅度只能是\(0\)或\(1\))。 并由此计算这两个连续段发生合并的时间,到时间的时候进行合并。 每次合并时,先计算新连续段的相关数值,然后检验新连通块相邻的两

  • 渲染到RenderTexture的2种写法

    第1种 staticvoidTest() { Texture2DsrcTex=null; varsrcTempRT=RenderTexture.GetTemporary(512,512,0,RenderTextureFormat.Default); Graphics.Blit(srcTex,srcTempRT); varoldActiveRT=RenderTexture.active; RenderTexture.active=srcTempRT; //业务代码 RenderTexture.active=oldActiveRT; RenderTexture.ReleaseTemporary(srcTempRT); }复制 第2种 staticvoidTest2() { Texture2DsrcTex=null; varsrcTempRT=RenderTexture.GetTemporary(512,512,0,RenderTextureFormat.Default); Graphics.SetRenderTarget(srcTempRT); Graphics.Blit(s

  • 2-4 求交错序列前N项和

    本题要求编写程序,计算交错序列1-2/3+3/5-4/7+5/9-6/11+...的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中输出部分和的值,结果保留三位小数。 输入样例: 5 复制   输出样例: 0.917复制 #include<stdio.h> #include<math.h> intmain() { intn,i; doublesum=0; scanf("%d",&n); for(i=1;i<=n;i++){ sum+=pow(-1,i+1)*i/(2*i-1);//pow存在于<math.h>中,用来计算幂函数的,pow(2,3)指2的3次方 } printf("%.3f",sum); return0; }复制  

  • Unity3D - 使用TexturePacker打包图集以及NGUI对旋转sprites的支持

    作者:EnigmaJJ 博客地址:http://www.cnblogs.com/twjcnblog/     在Unity中使用NGUI时,为了减少drawcall,我们会将美术用到的小图打成一张图集,如图:   打包图集有很多种方式,这里介绍的是使用TexturePacker工具来打包图集。TexturePacker支持的游戏引擎相当的广泛,主要包含了Unity、Cocos2D、SpriteKit、LibGDX等等,导出的图片格式也十分丰富,可以导出为PSD、PNG、TGA、JPG等等,并且可以通过命令行方式来使用它。   在游戏开发过程中,美术的小图资源是不需要存放到游戏工程中的,因为游戏工程中我们只会使用打包之后的图集。例如美术的小图资源存放在UIResources文件夹下,与Assets同级: 而在UIResources文件夹中存放的每个子文件夹中的小图最终都会被打包成一张图集,例如UIResources下有Battle文件夹,Battle文件夹中的小图如下: 最终这些小图就会被打包成一张图集,存放在Assets/Resources

  • 微分学的基本定理

    微分中值定理 微分中值定理包括四个基本定理:Fermat定理、Rolle定理、Lagrange中值定理、Cauchy中值定理。中值定理名称的由来是因为在定理中出现了具有某种性质的中间值,称为“中值”。虽然我们对中值缺乏定量的了解,但这并不影响我们对它的使用。 Fermat定理 Fermat定理指出:极值点处导数为0。“极值”不同于“最值”,极值是局部概念,只要求存在一个非常小的邻域使得这个点的函数值\(\geq\)(\(\leq\))邻域内的所有函数值。在极值点的左右考虑\(\dfrac{f(x_0)-f(x)}{x-x_0}\)的左右极限,发现左极限和右极限要么有相反的符号,要么都等于0。要使得极限存在,它必须是0。而这个极限就是导数,所以极值点处导数为0。Fermat定理关注的是局部,证明只涉及了函数极限(局部概念)的定义。 Rolle定理 Rolle定理指出:设\(f\)在\([a,b]\)上连续,在\((a,b)\)上可导,且\(f(a)=f(b)\),则一定存在\(\xi\in(a,b)\)使得\(f'(\xi)=0\)。这里的\(\xi\)就是中值,它具有能使导函数等于0的

  • C++ sort

    (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可! II)Sort函数有三个参数: (1)第一个是要排序的数组的起始地址。 (2)第二个是结束的地址(最后一位要排序的地址) (3)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。 Sort函数使用模板: Sort(start,end,排序方法) 下面就具体使用sort()函数结合对数组里的十个数进行排序做一个说明! 例一:sort函数没有第三个参数,实现的是从小到大 #include<iostream> #include<algorithm> usingna

  • ps mac版下载 for MAC系统

      QQ:980006096  

  • 记一次开发:Qt简单电话本程序

    前言 断断续续学习C++一年了,现在要做课设,觉得控制台界面实在太难看,于是用Qt做一个图形化的程序出来。 学习Qt也没有多久,只是了解了个大概,这次开发基本上是啃了2天的官方帮助文档,然后利用各种Qt提供的轮子实现的。有些地方做的确实还很不完善,不过似乎没有什么致命的bug。 代码质量底下,谨慎模仿。 Qt真的是一个很好的C++扩展库,学习完C++觉得没有用武之地的可以去学习一下Qt来开发几个图形化软件来练练手。 项目介绍 实现一个简单的电话本程序,能够实现添加、查找、修改、删除、保存到文件等基本功能 开发环境 IDE: QtCreator(我个人认为非常好用,这也是我现在在linux下编写C++的主力IDE,因为是官方的IDE所以契合度非常高) 系统:Windows(本来是想在linux下开发的,但是考虑到最后做的程序要在windows平台上展示,不想进行二次编译所以选择了windows平台,Qt是跨平台的因此这个不用过多考虑) 编程思路 其实第一反应肯定是用数据库来实现这个功能了。但是既然是C++的课设,而且考虑到数据量应该不会太大,所以就直接使用文本文档来储存

  • 17、【常见算法】topN问题

    题   目:如果在N个数中找出其中前K大的数? 思路一:   先对N个数进行排序,然后在取其前K大的数;(冒泡排序,快速排序等) 思路二:   部分排序,只排除前K大的数即可(使用选择排序进行部分排序,选择排序的时间复杂度O(N2)) 思路三:   我可以用分治法,这有点类似快排中partition的操作。随机选一个数t,然后对整个数组进行partition,会得到两部分,前一部分的数都大于t,后一部分的数都小于t。   如果说前一部分总数大于1000个,那就继续在前一部分进行partition寻找。如果前一部分的数小于1000个,那就在后一部分再进行partition,寻找剩下的数。   该思路的事件复杂度为O(N):首先,partition的过程,时间是o(n)。我们在进行第一次partition的时候需要花费n,第二次partition的时候,数据量减半了,所以只要花费n/2,同理第三次的时候只要花费n/4,以此类推。而n+n/2+n/4+...显然是小于2n的,所以这个方法的渐进时间只有o(n)。 思路四:   当N的值过大,且内存资源有限,无法一

  • 腾讯IOT之树莓派物联网设备

    目录腾讯IOT之树莓派物联网设备架构图硬件配置软件配置TecentIOT开发平台的使用新建项目新建产品添加自定义功能设备开发微信小程序配置面板配置新建设备使用设备在线调试设备日志树莓派Java开发创建项目配置maven文件项目文件配置代码编写代码打包程序运行微信小程序控制总结参考 腾讯IOT之树莓派物联网设备 本次实验的目的是将树莓派设置为一个物联网终端,通过微信小程序可以控制树莓派,实现蜂鸣器的开关。 微信小程序界面如下所示,点击这个开关,就可以控制蜂鸣器。 项目地址:https://github.com/xiaohuiduan/IotForTecentBeep 架构图 一图胜千言: 硬件配置 树莓派 蜂鸣器 在这里我将树莓派接的是GPIO_00,使用的树莓派是树莓派4B版本。不同的树莓派的GPIO接口可能不同,可以根据自己的需要按情况考虑。 实物图如下所示,VCC——3.3V,GND——GND,IO——GPIO_00(低电平触发) 软件配置 编程语言使用的是Java,也就是说将使用Java实现腾讯云IOT平台的连接和树莓派GPIO口的控制。使用的IDE是IntelliJI

  • 二叉树的顺序存储

    /*c6-1.h二叉树的顺序存储表示*/ #defineMAX_TREE_SIZE100/*二叉树的最大结点数*/ typedefTElemTypeSqBiTree[MAX_TREE_SIZE];/*0号单元存储根结点*/ typedefstruct { intlevel,order;/*结点的层,本层序号(按满二叉树计算)*/ }position;复制 /*bo6-1.c二叉树的顺序存储(存储结构由c6-1.h定义)的基本操作(23个)*/ StatusInitBiTree(SqBiTreeT) {/*构造空二叉树T。因为T是固定数组,不会改变,故不需要&*/ inti; for(i=0;i<MAX_TREE_SIZE;i++) T[i]=Nil;/*初值为空*/ returnOK; } voidDestroyBiTree() {/*由于SqBiTree是定长类型,无法销毁*/ } StatusCreateBiTree(SqBiTreeT) {/*按层序次序输入二叉树中结点的值(字符型或整型),构造顺序存储的二叉树T*/ inti=0; #ifCHAR int

  • 正则表达式--常用验证工具类

    以下是整理的最常用表单验证工具类,验证正则表达式是否匹配 packagetest; importjava.util.regex.Matcher; importjava.util.regex.Pattern; publicclassRegExpUtil{ //邮箱 //publicstaticfinalStringEMAIL="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; publicstaticfinalStringEMAIL="\\w+(\\.\\w+)*@\\w+(\\.\\w+)+"; //手机号 publicstaticfinalStringPHONE="^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\\d{8}$"; //正整数 publicstaticfinalStringPOSITIVE_INTEGER="^[1-9]\\d*|0$"; //负整数 publicstaticfinalStringNE

  • el-table各种样式兼容问题解决方案

    /* ************************************ *1.边框消失:被固定栏遮挡:上/下/左/右 *2.调整边距后问题:线条偏差错位:标题与内容不对齐(右侧固定栏多出内容:需要设置自适应宽度) *3.操作栏按钮高度不够:表格行间距是padding:6px0;按钮内边距是:7px15px ************************************ */ //设置高优先,以覆盖内联样式 .el-table>.el-table__fixed-right{ height:100%!important; right:-1px; border-right:1pxsolid#D8D8D8; } //表格边框缺失问题:其实是表格线条颜色加深问题,无法识别 .el-table__fixed::before,.el-table__fixed-right::before{ background-color:#D8D8D8; } //缩放错位: body.el-tableth.gutter{ display:table-cell!important; } bo

相关推荐

推荐阅读