上一篇说到print语句,print是可以打印任何类型到屏幕上,都有哪些类型呢?

  • 整形(int)
  • 长整型(long)
  • 浮点型(float)
  • 字符型(str)
  • 布尔型(bool)

最常见的就这几种。

在这之前不得不先提到一个知识——变量,什么是变量,一般会这么理解:就是会变的量,它的值会改变的量,与常量(数字)对应。其实这不太准确的。

变量名就像我们现实社会的名字,把一个值赋值给一个名字时,TA会存储在内存中,称之为变量(variable)。在大多数语言中,都把这个行为称为“给变量赋值”或“把值存储的在变量中,给变量赋值就是一个等号符号(=),不过在python中,比如a=4,那么此时a的值即为4,接下来我又让a=6,此时a的值即为6。但注意赋值并不等同于数学里的等于符号,等于是’==‘,在python里是作为判断使用,并且在python里,a=4这个操作解释为给变量赋值是不太准确的,4并不是把值存储在变量中,而更像是把名字贴在值的上。这里又牵扯到python提倡的一个关键词:内存空间

 注意:

  • 使用变量前需要赋值
  • 变量名可以是字母,数字,下划线,但变量不能以数字开头
  • 区分大小写
  • 符号’=’是赋值的意思,左边是名字,右边是值
  • 变量的名字尽量取专业的名字,做到顾名思义
  • 变量是不可变对象(这个后面会提到,先了解是不可变对象就行)

以下变量名为了方便解说,暂且随意取,并且为了简单操作,我使用的python2的IDLE

一,基本知识:

1.整形(int):

整形即为整数,一个数字,没有小数的数字,比如1,2,-1,-2等

打印:

这里用到一个BIF(内置函数)——type(),这个函数可以查看类型,方便辨别是是什么类型

还有一个和type()函数一样功能的函数:isinstance(),用法如下:

那么为何type里只放了一个参数,isinstance用了两个参数,为什么呢?我怎么知道其用法呢?

这里又要用到一个BIF——help()来查看python的官方文档,如:

(由于输出的内容很长,只截了目前有用的一点),只看注明那一行,object是对象的意思,在python里一切皆对象,所以type()的用法是,你可以将任何东西放进去,然后反馈给你这个对象的类型

同样看看isinstance()的官方帮助文档:

意思是,要给两个参数,第一个参数是需要查看类型的对象,第二个是给一个类型,然后会返回一个布尔型(请看第5点),这样就可以辨别类型了。

2.长整型(long):

长整型也是整形,是整形的一种,不过由于比整形更长,所以叫长整型,比如123552466L,后面带一个‘L’的即为长整型,在python3里不再有长整型,因为其实没什么鸟用,大部分时候还是直接用的整形

打印:

3.浮点型(float):

即带有小数的数字类型,比如1.5,1.0,1.555等

和浮点型对应的有个定点型(double),也是有小数的数字类型,基本很少用

4.字符型(str):

即被引号包围住的,比如:‘python’,’hello‘这种,可以用单引号,也可以用双引号,不影响,但不能单双混用

5.布尔型(bool):

布尔本是一个人的名字,这人当时定义开灯即为1,关灯即为0,好比二进制0/1,而永远都只有这两个状态,不可能处于不开灯也不关灯或者又开灯又关灯的状态,而这个原理被其他研究者拿来放到运算原理里,让这种只存在两者中的任一一种状态发扬光大。

在编程里也一样,有对,有错,不可能出现又对又错或者不对也不错的状态,所以则有True和False(首字母必须大写)这两个关键词,这两个关键词在判断里会有很大的作用。

还有一点,True和False其实分别等于1和0的:

但在编程中如果把True和False当作1和0来参与计算是很蹩脚的,这也不是一个合格的程序员能做的,记住这一点就行,在以后的编程里可以方便理解等的。

 说到这,那肯定要说一个关键语句——判断语句if

这是最基础也是最核心的东西,所有的开发语言都有这个判断语句

怎么判断呢?

if,如果的意思,有如果那就有一个相反的else:

当满足给的条件就跟着程序走一条路,当不满足就走另一条路

可以有单个if,但不可以有单个else,if...else,while...else是配套存在的(while在后面的循环里会提到)

数据类型之间是可以相互转换的,python很灵活,不会像JAVA一样,JAVA的只能数据类型短的转换到数据类型长度长的,数据类型长度长的不能转换成数据类型短(真要转换得强制转换,题外话不多说)。

看几个简单的例子你就懂了:

number=2
type(number)
number2=long(number)
type(number2)
number2
number3=str(number)
type(number3)
number3
number4=float(number)
type(number4)
number4

结果:

开始print一些东西了:

打印一个文件路径:

这里要说个概念,其实你应该注意到了,print和没使用print结果不一样,也就是为什么在交互式界面(IDLE)里直接给变量和print 变量得到的结果不太一样?因为print在打印时会自动加入一个\n换行符,这样在编程时可以下面的代码隔开,并且表达式是代表一件事,print+表达式是这件事,比如‘1+2’是指这件事,print ‘1+2’ 是做打印‘1+2’这件事,并且个人认为在python里print会根据默认编码等的默认设置来自动处理一下代码并打印到屏幕上,但是注意的是,print不会改变其对象本身任何东西,只是根据自己的机制打印到屏幕上。

注意在Windows中,路径分割符是双\\,Windows就要这样,没办法

再打印一个:

和我们预想有点出入,在这之前需要了解几个特殊符号:

\  转义字符;换行续写(后面多行字符串会提到)

\n 表示换行

\t  表示一个制表符,即一个tab键的位置

\\  表示\字符本身

# 注释字符,也可以注释掉暂时不用的代码

所以这里错把’\n‘和’\t‘当作特殊字符看待了,由此一个换行了,一个tab了

给它转义一下,用\\转义成它自身,让它没有任何特殊意义即可:

实际应用:

打印——Let's go(其本身就带有一个引号)的

一贯操作:,颜色变了,因为关键词颜色会高亮显示,这里明显颜色不对

果然,见红报错了,这报错意思是语法错误,后面在异常处理会详细解说

外层用双引号可以解决:

或者用转义符转义:

但这又有一个问题,如果路劲过长呢,还有一个一个手动的添加转义吗?

所以牵扯一个新的用法,是的,我的套路就是在实际问题中慢慢丢出要掌握的概念

r ---原始字符串

原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。

在字符串之前加上r,这个用法其实在前面说道编码问题时有用过,前面查看中国的’中‘字,使用Unicode方式就是写的【u'中'】,可以翻翻前面的。

但是还有一个问题,照原始字符串的概念来讲,我这样写没问题啊:

但是报错了,第一个刚才说了,那是因为引号字符冲突,加入r不能解决。第二个在最后加入了反斜行,还是报错了,所以解决办法是:

在原始字符串无法解决的位置单独转义:

但是还是不太方便对不对,万一以后就要这么用怎么办?还要每个单独再转义一次,有点麻烦啊

所以又有了一个终极必杀技:多行字符串,或者叫长字符串’’’’’’,三个引号

多行字符串内,不管里面是什么,都是字符串,不再发生任何意义,顾名思义,还可以注释多行

但是注意如果多行字符串在最后有反斜行的话会这样:

一直敲回车都没用,因为末尾的\成了换行续写的意思,或者你也可以理解为转义符\把本有的反三引号给转义了。所以一直没完,手动加入反三引号才算完

最后还有个问题,因为print后面的字符串,字符串里面有什么就打印什么,假如,我不想这样,我想执行字符串里的代码并得到一个结果呢?

比如:

我想得到这个结果怎么办?

有两个内置函数可以解决这个问题,exec()和eval()

但是这两个函数基本很少用的,记住有这么个用法就行

洗礼灵魂,修炼python(4)--从简单案列中揭示常用内置函数以及数据类型的更多相关文章

  1. 【Python】从简单案列中揭示常用内置函数以及数据类型

    前面提到了BIF(内置函数)这个概念,什么是内置函数,就是python已经定义好的函数,不需要人为再自己定义,直接拿来就可以用的函数,那么都有哪些BIF呢? 可以在交互式界面(IDLE)输入这段代码, ...

  2. python序列(七)序列操作的常用内置函数

    1.len(列表):返回:列表中的元素个数,同样适用于元组.字典.集合.字符串等. max(列表).min(列表):返回列表中的最大或最小元素同样适用于元组.字典.集合.range对象等. sum(列 ...

  3. Python常用模块中常用内置函数的具体介绍

    Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...

  4. python常用内置函数整理

    1.最常见的内置函数是print print("Hello World!") 2.数学运算 abs(-5) # 取绝对值,也就是5 round(2.6) # 四舍五入取整,也就是3 ...

  5. python之迭代器 生成器 枚举 常用内置函数 递归

    迭代器 迭代器对象:有__next__()方法的对象是迭代器对象,迭代器对象依赖__next__()方法进行依次取值 with open('text.txt','rb',) as f: res = f ...

  6. python中常用内置函数和关键词

    Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...

  7. PYTHON语言之常用内置函数

    一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...

  8. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  9. python中的运算符及表达式及常用内置函数

    知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...

随机推荐

  1. Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律

    第一讲     IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...

  2. .NET Core多平台开发体验[2]: Mac OS X

    除了微软自家的Windows平台, .NET Core针对Mac OS以及各种Linux(RHEL.Ubuntu.Debian.Fedora.CentOS和SUSE等)都提供了很好的支持,我们先来体验 ...

  3. macaca测试web小例子

    上午刚把macaca的环境在公司的电脑上吧web 端的环境给搭建好,于是乎,看看网上的例子,看看官方的文档 https://macacajs.github.io/wd.py/ 可以在这个链接看到原滋原 ...

  4. 又想起Solaris

    想起曾几何时,学习的第一个UNIX-like操作系统.只可惜,从来都是在此操作系统上用C语言编程,而没有用过Sun公司的java. 又几何时,Sun公司慢慢不行了.再后来过了几年,Sun公司把Ultr ...

  5. 初学者入门web前端:C#基础知识:函数

    入行前端对函数的掌握程度有可能直接影响以后工作的效率,使用函数可以高效的编写编码,节省时间,所以我整理了C#中最基础的函数知识点,虽然我在学习中 遇到很多问题,但是只要能够解决这些问题,都是好的. 一 ...

  6. 到处是坑的微信公众号支付开发(java)

    之前公司项目开发中支付是用阿里的支付做的,那叫一个简单,随意:悲催的是,现在公司开发了微信公众号,所以我步入了全是坑的微信支付开发中... ------------------------------ ...

  7. ★RFC标准库_目录链接

    RFC(Request For Comments)是一个国际标准化的数据库,记录了从计算机到互联网的海量标准协议.它是一个免费公开的IT标准文件分享平台,其内容也在不断增长,与时俱进.它与ISO等组织 ...

  8. 英语学习案例分析APP 201421123108 王坤彬

    第一部分.调研,测评 1.第一次使用经验. 我使用的时候苹果手机下载的必应软件.第一次使用感觉还好,但是知名度比较低,比不上喜马拉雅听书软件,这里我就做两者的对比.首先界面以及种类明显逼格更差点.必应 ...

  9. 团队作业8----第二次项目冲刺(Beta阶段) 第三天

    BETA阶段冲刺第三天 1.小会议ing 2.每个人的工作 (1) 昨天已完成的工作 注册账号时时添加了账号相同不能添加的功能,以防两个账号一样的情况: 老师账号注册时添加一个密令: (2) 今天计划 ...

  10. 201521123100 《Java程序设计》 第7周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代 ...