洗礼灵魂,修炼python(4)--从简单案列中揭示常用内置函数以及数据类型
上一篇说到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)--从简单案列中揭示常用内置函数以及数据类型的更多相关文章
- 【Python】从简单案列中揭示常用内置函数以及数据类型
前面提到了BIF(内置函数)这个概念,什么是内置函数,就是python已经定义好的函数,不需要人为再自己定义,直接拿来就可以用的函数,那么都有哪些BIF呢? 可以在交互式界面(IDLE)输入这段代码, ...
- python序列(七)序列操作的常用内置函数
1.len(列表):返回:列表中的元素个数,同样适用于元组.字典.集合.字符串等. max(列表).min(列表):返回列表中的最大或最小元素同样适用于元组.字典.集合.range对象等. sum(列 ...
- Python常用模块中常用内置函数的具体介绍
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
- python常用内置函数整理
1.最常见的内置函数是print print("Hello World!") 2.数学运算 abs(-5) # 取绝对值,也就是5 round(2.6) # 四舍五入取整,也就是3 ...
- python之迭代器 生成器 枚举 常用内置函数 递归
迭代器 迭代器对象:有__next__()方法的对象是迭代器对象,迭代器对象依赖__next__()方法进行依次取值 with open('text.txt','rb',) as f: res = f ...
- python中常用内置函数和关键词
Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...
- PYTHON语言之常用内置函数
一 写在开头本文列举了一些常用的python内置函数.完整详细的python内置函数列表请参见python文档的Built-in Functions章节. 二 python常用内置函数请注意,有关内置 ...
- Python的常用内置函数介绍
Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...
- python中的运算符及表达式及常用内置函数
知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...
随机推荐
- C# 爬虫 Jumony html解析
前言 前几天写了个爬虫,然后认识到了自己的不足.感谢 "倚天照海- -" ,我通过你推荐的文章,意外的发现了html解析的类库——Jumony. 研究了2天,我发现这个东西简单粗暴 ...
- vue.js移动端app实战4:上拉加载以及下拉刷新
上拉加载以及下拉刷新都是移动端很常见的功能,在搜索或者一些分类列表页面常常会用到. 跟横向滚动一样,我们还是采用better-scroll这个库来实现.由于better已经更新了新的版本,之前是0.几 ...
- Java虚拟机JVM内存分区及代码执行机制
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt230 1. JVM体系结构 图1 JVM体系结构 方法区:存放JVM ...
- mysql数据类型double和decimal区别详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt336 实数是带有小数部分的数字.然而,它们不只是为了存储小数部分,也可以使用 ...
- Tinyhttpd 代码学习
前阵子,参加了实习生面试,被面试官各种虐,问我说有没有读过一些开源的代码.对于只会用框架的我来说真的是硬伤啊,在知乎大神的推荐下在EZLippi-浮生志找了一些源代码来阅读,于是从小型入手,找了Tin ...
- SQL Server 2008 开启数据库的远程连接
转载: 陈萌_1016----有道云笔记 SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远程连接数据库.需要做两个部 ...
- Project 1 :创建链表与显示链表
目标:创建一个链表,并将链表输出.结构体中包括学号与分数.链表以输入学号为0作为结束.输出模版为 No.学号 Score:分数 输入样例: 10101 98 10102 97 10103 100 10 ...
- Android 日夜间切换Demo
这是其中一种实现模式,也是比较麻烦的一种,首先写布局,不多说上代码 activity_main.xml <?xml version="1.0" encoding=" ...
- Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...
- PowerBI入门 第三篇:报表设计技巧
最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...