当前位置: 首页 > 编程日记 > 正文

Python笔记

精简,快速,并持续完善。

输入与输出

>>> print('Name: %s, score: %d' % ('Jack', 89))
Name: Jack, score: 89>>> print('Hello', 'world!')   #逗号连接
Hello world!a = raw_input("a:")   #捕获原始输入,返回字符串
b = input("b:")       #数字或表达式,不支持输入字符串,返回数字类型的数值

数据类型

空(None)

表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。


布尔类型(Boolean)

一个布尔值只有True、False两种值,可以用and、or和not运算

python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值。or也是从左到有计算表达式,返回第一个为真的值。

>>>'a'and'b'
'b'
>>>''and'b'
''
>>>'a'or'b'
'a'
>>>'' or 'b'
'b'

整型(Int)

在Python内部对整数的处理分为普通整数和长整数,普通整数长度为机器位长,通常都是32位,超过这个范围的整数就自动当长整数处理,而长整数的范围几乎完全没限制
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。


浮点型(Float)

在运算中,整数与浮点数运算的结果是浮点数。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。


字符串(String)

Python字符串即可以用单引号也可以用双引号括起来,甚至还可以用三引号括起来
字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。

>>>'I\'m \"OK\"!'    #转义字符 \    
I'm "OK"!
>>> print '\\\t\\'
\       \
>>> print r'\\\t\\'    #用r''表示''内部的字符串默认不转义  
\\\t\\

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容,可以自己试试:

>>> print '''line1
... line2
... line3'''
line1
line2
line3

上面是在交互式命令行内输入,如果写成程序,就是:

print '''line1
line2
line3'''

列表(List)

用符号[]表示列表,中间的元素可以是任何类型,用逗号分隔。list类似C语言中的数组,用于顺序存储结构

>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']>>> classmates[0]
'Michael'>>> classmates.append('Adam')              #可以往list中追加元素到末尾
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']>>> classmates.insert(1, 'Jack')           #把元素插入到指定的位置,比如索引号为1的位置
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

元组(Tuple)

元组是和列表相似的数据结构,但它一旦初始化就不能更改,速度比list快,同时tuple不提供动态内存管理的功能,需理解一下规则:
tuple可以用下标返回一个元素或子tuple

表示只含有一个元素的tuple的方法是:(d,)后面有个逗号,用来和单独的变量相区分

>>> t = (1,)
>>> t
(1,)

集合(Set)

集合是无序的,不重复的元素集,类似数学中的集合,可进行逻辑运算和算术运算

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}

字典(Dict)

字典是一种无序存储结构,包括关键字(key)和关键字对应的值(value)。字典的格式为:dictionary = {key:value}。关键字为不可变类型,如字符串、整数、只包含不可变对象的元组,列表等不可作为关键字。如果列表中存在关键字对,可以用dict()直接构造字典

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

如果key不存在,dict就会报错:

>>> d['Thomas']
Traceback (most recent call last):File "<stdin>", line 1, in <module>
KeyError: 'Thomas'

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas' in d
False

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

>>> d.pop('Bob')
75
>>> d
{'Michael': 95, 'Tracy': 85}

类型转换

常用转换

    int(x)                 #将x转换为一个整数 float(x )              #将x转换到一个浮点数 str(x)                 #将对象x转换为字符串 tuple(s)               #将序列s转换为一个元组 list(s)                #将序列s转换为一个列表 repr(x)                #将对象x转换为表达式字符串 eval(str)              #用来计算在字符串中的有效Python表达式,并返回一个对象 chr(x)                 #将一个整数转换为一个字符 unichr(x)              #将一个整数转换为Unicode字符 ord(x)                 #将一个字符转换为它的整数值 hex(x)                 #将一个整数转换为一个十六进制字符串 oct(x)                 #将一个整数转换为一个八进制字符串complex(real [,imag])  #创建一个复数

相关文章:

资料验证的asp.net程序

<!-------资料验证&#xff1a;天乐comezxnsina.com------------> <!-------比较简单&#xff0c;以前写的&#xff0c;若有纰漏&#xff0c;请跟我联系----------> <Html> <Body bgcolor"White"> <H3>Validator(资料验证)控制元件<…

iphone UIView的一些基本方法理解

原文链接地址&#xff1a;http://www.cocoachina.com/bbs/read.php?tid38766UIView的一些基本方法理解UIView的一些基本方法理解&#xff1a;loadView、viewDidLoad、viewDidUnload、viewWillAppear、viewWillDisappear经常使用UIView以及它的子类&#xff0c;一般对于init:&a…

收藏!美国博士明确给出Python的高效学习技巧

我见过市面上很多的 Python 讲解教程和书籍&#xff0c;他们大都这样讲 Python 的&#xff1a;先从 Python 的发展历史开始&#xff0c;介绍 Python 的基本语法规则&#xff0c;Python 的 list, dict, tuple 等数据结构&#xff0c;然后再介绍字符串处理和正则表达式&#xff0…

pl/sql中三种游标循环效率对比

pl/sql中三种游标循环效率对比 - Oracle数据库栏目 - 红黑联盟 http://www.2cto.com/database/201307/224636.html转载于:https://blog.51cto.com/yweaner/1873294

UpdateData函数(转)

UpdateData&#xff0c;顾名思义&#xff0c;是用来刷新数据的。 UpdateData(TRUE) -- 刷新控件的值到对应的变量 UpdateData(FALSE) -- 拷贝变量值到控件显示例如&#xff0c;窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode); 将IDC_EDIT1编辑框控件与m_usercode变量做了关联&…

PEAR, PECL和Perl的区别

PEAR是PHP扩展与应用库&#xff08;the PHP Extension and Application Repository&#xff09;的缩写。它是一个PHP扩展及应用的一个代码仓库&#xff0c;简单地说&#xff0c;PEAR就是PHP的CPAN。 PECL &#xff08;PHP Extension Community Library&#xff09;&#xff0c;…

永远不要对 AI 说:“我不行!”

最近这些年&#xff0c;如果我要问什么技术最值钱&#xff0c;我想超过90%的人都会说是&#xff1a;人工智能。确实&#xff0c;随着近些年人工智能发展与普及&#xff0c;AI研发岗早已成为编程领域薪水最高的岗位之一。但扎心的是&#xff0c;一提到 AI &#xff0c;相信绝大部…

ThoughtWorks雷达上的新奇变化

与往常一样&#xff0c;ThoughtWorks技术雷达涵盖了四方面内容&#xff1a;语言与框架、平台、技术和工具&#xff0c;而且其中每个领域都会有四方面内容&#xff1a;采用、试用、评估及保留。本文列举了相关领域中较新和值得注意的内容。\\语言与框架\\采用: Ember.js由于其生…

用于时序动作提名生成任务,爱奇艺提出BC-GNN图神经网络 | ECCV 2020

时序动作提名生成任务可以从未处理的长视频中定位出包含动作内容的片段&#xff0c;对视频理解以及时序行为检测任务等有着重要的作用。随着视频数量的激增以及视频内容的丰富&#xff0c;对时序动作提名算法的关注和需求也得到巨大提升。然而目前的方法多采用先生成起止边界&a…

剖析ASP.NET下部构造

crystal译yesky(前面我已说过ASP.NET拥有全新的下部构造)当我说到全新的下部构造……我得再次强调,是全新的下部构造! 它不只 是 ASP 的一个简单变化. 在此引入收管代码(managed code)这样一个全新概念,它横贯整个视窗开发平台. 受管代码在 NGWS Runtime下运行. NGWS Runtime是…

超大磁盘分区工具parted使用介绍(一)

使用parted GNU Parted有两种运行模式&#xff1a;命令行模式和交互模式。 1&#xff0e;命令行模式的选项 当你调用命令行模式时&#xff0c;parted的语法是这样的&#xff1a; 格式1# parted [option] device 格式2# parted [option] device [command [argument]] 格式1&am…

Sea.js学习4——Sea.js的配置

可以对 Sea.js 进行配置&#xff0c;让模块编写、开发调试更方便。 seajs.config seajs.config(options) 用来进行配置的方法。 seajs.config({// 别名配置alias: {es5-safe: gallery/es5-safe/0.9.3/es5-safe,json: gallery/json/1.0.2/json,jquery: jquery/jquery/1.10.1/jqu…

SQL Server 性能基线和监控

就讲讲监控那些值&#xff0c;基线抓的是那些值。如何做告警 环境&#xff1a;windows 2008r2,sql server 2008r2 sp1 性能基线&#xff1a; cpu&#xff1a; \Processor(_Total)\% Processor Time    \Processor(_Total)\% Privileged Time \SQLServer:SQL Statistics\Bat…

ASP.NET特写

作者&#xff1a; 仙人掌工作室 创建动态Web页面的新技术已经以CLR服务为基础全部重新改写。到目前为止&#xff0c;所有.NET提供的语言都可用于编写ASP.NET页面&#xff0c;但页面的扩展名和ASP 3.0的不同。具体地说&#xff0c;简单Web页面以“.aspx”为扩展名&#xff0c…

Google出品,EfficientNet在目标检测达到最新SOTA | CVPR 2020

作者 | tanmingxing&#xff0c;rpang&#xff0c;qvl 来源 | 晓飞的算法工程笔记&#xff08;&#xff09; 介绍 目前目标检测领域&#xff0c;高精度的模型通常需要很大的参数量和计算量&#xff0c;而轻量级的网络则一般都会牺牲精度。因此&#xff0c;论文希望建立一个可伸…

存储过程和存储函数初步

2019独角兽企业重金招聘Python工程师标准>>> 存储过程和函数初步 简单的来说&#xff0c;存储过程就是一条或者多条 SQL 语句的集合&#xff0c;可视为批处理文件&#xff0c;但是其作用不仅限于批处理。 ###存储程序可以分为存储过程和函数。 MySQL 中创建存储过程…

asp.net 入门的五个步骤

作者&#xff1a; rob howard 步骤 1&#xff1a;下载和安装 .net sdk asp.net 是作为 .net sdk 的一部分提供的&#xff0c;它是创建、生成和测试基于 .net framework 的应用程序所需要的所有技术的集合。要下载和安装 .net sdk&#xff0c;请前往 msdn online .net 开发人…

我帮公司财务写了个“群发工资条”的Python脚本

作者 | 黄伟呢来源 | 数据分析与统计学之美介绍这是一个很好的Python自动化的案例。对于小公司&#xff0c;采用手动方式一个个发送邮件还是可以的。如果一个上百号&#xff0c;上千号&#xff0c;或者更大规模的公司&#xff0c;我们再一个个发送工资条邮件&#xff0c;就太浪…

[转] vim的复制粘贴小结

转载自: http://blogread.cn/it/article.php?id304 用vim这么久了&#xff0c;始终也不知道怎么在vim中使用系统粘贴板&#xff0c;通常要在网上复制一段代码都是先gedit打开文件&#xff0c;中键粘贴后关闭&#xff0c;然后再用vim打开编辑&#xff0c;真的不爽&#xff1b;上…

CCNA基础 IP地址子网划分

例&#xff1a;1.2.3.4/28 解析0&#xff1a;https://ws2.sinaimg.cn/large/006aKfj6jw1fa09e02m53j30u01hc7av.jpg 解析1&#xff1a;子网数量&#xff1a;2^n-x ( N表示 "/" 后面的数字&#xff1b;X表示8或16或24 ) &#xff08;子网数量需要减去8或16视情况决…

一位IT從業人員的心路歷程

一位IT從業人員的心路歷程作者&#xff1a;章立民「Statgraphics統計繪圖入門詳論」是我的第一本著作&#xff0c;時值1990年9月&#xff0c;當時我還是一位大三升大四的學生。屈指算算&#xff0c;14年來&#xff0c;我已經撰寫了60本以上的書籍(簡體版未計算在內)&#xff0c…

面了大厂的 Python 岗后,炸了!

听说 Python 很难学&#xff1f;难在哪里&#xff1f;听说学完不知道做什么&#xff0c;为什么&#xff1f;结合我最近这些年的 Python 学习、开发经验&#xff0c;发现 90% 的人在初学 Python 时都会遇到下面这些问题——1. 没经验根本不知道从何学起&#xff0c;而且应用方向…

{} 与 function() { } , 选用空对象{}来存放keyValue

虽说js里面什么都能当对象&#xff0c;也能用填鸭式方法任意给对象添加属性&#xff0c;属性赋值.但是有些js内置的对象&#xff0c;类型属性也是没办法覆盖的。 贪多必失&#xff0c;写了一个用操作url 的js工具类&#xff0c;这个类上面有个属性叫queryString&#xff0c;我原…

java/android 设计模式学习笔记(1)--- 单例模式

前段时间公司一些同事在讨论单例模式&#xff08;我是最渣的一个&#xff0c;都插不上嘴 T__T &#xff09;&#xff0c;这个模式使用的频率很高&#xff0c;也可能是很多人最熟悉的设计模式&#xff0c;当然单例模式也算是最简单的设计模式之一吧&#xff0c;简单归简单&#…

实例解说.Net构架下的加密编程

yesky(张悦■yesky) http://www.yesky.com/SoftChannel/72342380484755456/20031225/1756613.shtml 很久以前就一直想写一个加密程序&#xff0c;但是一直感到太麻烦而没有动手&#xff0c;不过在前段时间学习.NET的过程中发现.NET的框架中封装了与加密有关的类。而且要在.NE…

人工智能新手入门学习路线!附学习资源合集

有段时间没跟大家分享编程资源福利了&#xff01;今天为大家整理了人工智能新手入门学习路线&#xff0c;同时附700分钟的学习资源合集&#xff0c;相信这套福利可以帮你顺利入行AI&#xff01;文末领取全部资料。一、AI基础好课学习资料整理&#xff08;约317分钟&#xff09;…

数据还原到指定时间点的处理示例

--创建测试数据库CREATE DATABASE DbGO--对数据库进行备份BACKUP DATABASE Db TO DISKc:\db.bak WITH FORMATGO--创建测试表CREATE TABLE Db.dbo.TB_test(ID int)--延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点…

kvm cpu的亲和性绑定配置

1.CPU的绑定配置进程的处理器亲和性&#xff08;process affinity&#xff09;&#xff1a;指将进程绑定到特定的一个或多个cpu上去执行&#xff0c;而不允许将进程调度到其他cpu上。物理cpu&#xff1a;表示真实的cpu个数逻辑cpu&#xff1a;表示所有拥有一个完整真实cpu功能的…

李开复对话Yoshua Bengio:AI技术的下一个突破

7月23日&#xff0c;在SGInnovate主办的“深度科技&#xff08;Deep Tech&#xff09;造福人类”活动上&#xff0c;创新工场董事长兼CEO李开复与Element AI联合创始人Yoshua Bengio进行了一场对话&#xff0c;讨论了人工智能的未来发展。Yoshua Bengio是深度学习三大发明人之一…

单链表功能大全

单链表很全的例子&#xff0c;增加&#xff0c;删除&#xff0c;排序&#xff0c;都有了 #include <stdio.h>#include <stdlib.h>typedef struct node{int nDate;struct node *pstnext;}Node;//链表输出void output(Node *head){Node *p head->pstnext;while(N…