Python小课笔记--Python基础:数据和函数(二)

截图来自Python小课

文|仟樱雪
在Python小课-1-2节中,已经学习了基础模块--数据--数据类型(整数、字符串),以及基础模块--变量,基础模块--函数(input函数、print函数)。

本节继续学习基础篇--数据与函数
截图来自Python小课

1、基础知识--数据篇--数据类型
数据:主要分为数据类型、变量、编码、类与对象;

函数:
计算机其实就是一个做数学运算的机器,所以计算机程序的主要任务就是处理各种数值、文本、音频、视频、图像等各种类型的数据;

本节主要内容如下

一、Python的几种简单数据类型:字符串、整数、浮点数;
二、相关的函数:str(),int(),float(),type(),len();
三、数据类型的转换

1、数据类型--字符串
(1)字符串:用单引号或者双引号括起来的任意文本。
例如:'樱雪';英文是string,计算机中一般简写为str,
字符串的呈现方式一般是用单引号或者双引号括起来的文本,比如 '樱雪':

print('樱雪')
print('樱雪')
print('樱雪')
print('樱雪')

结果显示

樱雪
樱雪
樱雪
樱雪

说明:
1、第一行被打印出来的字符串樱雪,和第二行被打印出来的字符串樱雪,没有任何的不一样。所以单引号和双引号的效果是一样的。
2、单引号和双引号只是一种表达方式,不是字符串的一部分。例如字符串 'ABC', 就是A 、B、C这三个字符而已。
(2)字符串的应用

应用一、包含单引号、双引号的字符串应用
如果字符串内部包含了单引号【''】和双引号【""】的处理:利用【转义字符\】来标识。
例如:如果打印:Let's go 这个字符串,根据已经学过的知识,我们会写:

a = 'Let's go'
print (a)

说明:
i、Python会报错: SyntaxError: invalid syntax,意思是“语法错误”,因为它只把前两个单引号中的Let当成了字符串

ii、Python是从左往右匹配单(双)引号的——当它读到一个引号时,会记住这是字符串,当它再读到下一个引号时,默认计算结束,所以在计算机眼里,上面的'Let'是字符串,后续的内容,它并不能读取,于是产生一个报错。
截图来自Python小课
解决方案1:
需要使用转义字符【\】,把字符串中的单引号转义一下,此时【' Let's go '】就变成了【' Let's go '】
b = 'Let\'s go'#增加转义字符\
print (b)

运行结果:
截图来自Python小课

解决方案2:用双引号来标识字符串

c = "Let's go"
print (c)

说明:因为用了双引号作为标识符,而内部使用的是单引号,Python就能区分开来,正常运行了
可以反过来使用,比如说外部用单引号,然后内部的文本含有双引号,也可以的:

a = input('孔子曾说过哪句名言?')
print('子曰:"'+a+'。"')

说明:
在这行代码里,我们能看到最后打印的字符串由三部分组成。
第0部分是【子曰:"】,
第1部分是变量【a】,
第2部分是【。"】,
这三部分用加号【+】连接起来了。
在运行之后,然后输入一段孔子讲过的话,点击Enter继续。
说明:这段代码也是可以正常显示的,这是字符串中,单引号和双引号的交替使用

应用二、包含换行设置的字符串应用
换行转义字符的使用,转义字符【\n】,它的作用是换行,例如:

words = '今年的南方冷的透骨,人间不值得啊,我要回火星!'

这是一首只有三行的短诗,如果你要把每一句换行呈现的话。可以在每一句后面加【\n】:

words= '今年的南方冷的透骨,\n人间不值得啊,\n我要回火星!'
print(words)

运行结果如下:
截图来自Python小课

说明:诗句开始换行了

应用三、字符串结合type()函数、len()函数的使用
type函数:它主要用于获取数据的数据类型,例如:

a = '吴承恩'
b = type(a)
print(b)

第1行:定义了变量a,并为其赋值。
第2行:用type() 函数获取到了 a 的数据类型,并放在变量 b 里面。
第3行:为了显示在屏幕上,使用print() 函数让我们看到。
简洁做法:

a = '吴承恩'
print(type(a))

终端显示了<class 'str'>,class代表类,而str代表字符串,所以这是一个字符串的类
截图来自Python小课

应用说明:当我们通过某种方法,获得了一个变量,里面放了数据,我们期望里面放的就是字符串类型的数据,这时,type() 函数就能确认了。

len()函数:它能帮我们获取到数据的长度。

a = '吴承恩'
b = len(a)
print(b)

第1行:定义了变量a,并为其赋值。
第2行:用len() 函数获取到了 a 的长度,并放在变量 b 里面。
第3行:为了显示在屏幕上,使用print() 函数让我们看到。
简洁做法:

a = '吴承恩'
print(len(a))

运行结果:终端显示了3,代表这个字符串的长度为3。

(3)字符串小结:

截图来自Python小课

2、数据类型--整数
(1)整数:英文是integer,简写为int,跟普通的数字没啥区别。
Python可以处理任意大小的整数,也包括负整数,在程序中的表示方法和数学上的写法一模一样:

+:加法
-:减法
*:乘法
/:除法
%:取模,返回除法的余数,5%2返回1
**:幂,返回x的y次幂,2**3等价于2的3次方
//:取整除,返回商的整数部分,11//2返回5

(2)整数和type()、len()函数的应用
type函数的应用,例如:

print(type(5))
print(type('5'))

返回结果:

<class 'int'>
<class 'str'>

说明:5 和 '5' 是不一样的,一个是整数,一个是字符串。
len函数的应用,例如:

print(len(5))

注意:去运行这行代码,会看到终端给我们报错

Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 1, in <module>
    print(len(5))
TypeError: object of type 'int' has no len()

说明:
请看图中的报错部分,line1表示第一行代码出了错,然后其中最后一行写着:TypeError: object of type 'int' has no len() 。
意思是类型错误:整数这个类型没有len() 函数;可见,整数是不能使用len() 的。

3、数据类型--浮点数
(1)浮点数:很简单,就是带小数的数字。
之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的.
凡是带有小数点的数字,就都是浮点数。浮点数的英文是float,没有简写:

1.0
3.14159
-0.33

整数和浮点数,它们在计算机内部的存储方式是不一样的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差
(2)浮点数和type()、len()函数的应用
type函数,例如

print(type(1.0))
print(type(3.14159))
print(type(-0.33))

运行结果是:

<class 'float'>
<class 'float'>
<class 'float'>

len函数,例如

print(len(1.0))
print(len(3.14159))
print(len(-0.33))

运行结果是:

Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 1, in <module>
    print(len(1.0))
TypeError: object of type 'float' has no len()

说明:出现报错,倒数第三行,写了问题出在 line1,所以第一行代码就执行不下去,最后一行,终端显示TypeError: object of type 'float' has no len()。意思是类型错误:浮点数这个类型没有长度。
翻译过来:计算机是在说:浮点数没有len()函数,所以,整数和浮点数都不能使用len() 函数。

4、数据类型的转换
(1)数据类型转换介绍
需要连接一个整数和字符串,再让print()函数打印出来的话,是不可以使用加号直接实现,需要转换数据类型,有3个函数可以实现这个功能,即str()、int()和float()函数。
str()函数:可以让其他数据类型转换成字符串;
int()函数:可以让其他数据类型转换成整数;
float()函数:可以让其他数据类型转换成浮点数;
例如

t = 3
print('我谈过'+t+'次恋爱。')

输出结果:

Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 2, in <module>
    print('我谈过'+t+'次恋爱。')
TypeError: can only concatenate str (not "int") to str

说明 :
看倒数第三行,是line2有问题;再看最后一行写着TypeError: must be str, not int 意思是——类型错误:必须是字符串,而不是整数,也就是说,整数和字符串,用加号是拼接不起来的
例如:

a = input('随便输入一个数字')
b = 1
print(a+b)

输出结果:

随便输入一个数字54
Traceback (most recent call last):
  File "D:/Python_charm/hello.py", line 3, in <module>
    print(a+b)
TypeError: can only concatenate str (not "int") to str

说明:在随便输入数据54后,报错了,问题出在line3,再看图片中的最后一行,还是同样的TypeError(类型错误),因为input() 函数接受的内容都是字符串的数据类型,虽然输入了一个数字,但放在变量a里面的,是字符串'3',整数和字符串无法相加,所以终端又会报错,这两段代码,终端都报错了。而它们俩的错误原因都是一样的——不同的数据类型,没办法拼接在一起。

(2)数据类型转换应用
str()函数应用:

t = 3
print('我谈过'+str(t)+'次恋爱。')

运行结果:

我谈过3次恋爱。

说明:
通过使用str()函数,t变为字符串,就可以连接字符串了

str()函数应用:

a = input('随便输入一个数字')
b = 1
print(int(a)+b)

运行结果:

随便输入一个数字54
55

说明:变量a的数据类型转换为整数,并成功打印出(a+b)

5、课后练习
练习1:请让这首诗实现换行的功能:
print('《红豆》王维 红豆生南国, 春来发几枝。 愿君多采撷, 此物最相思。')
操作:

print('《红豆》王维 \n红豆生南国,春来发几枝。\n愿君多采撷,此物最相思。')

运行结果:

《红豆》王维 
红豆生南国,春来发几枝。
愿君多采撷,此物最相思。

练习2:请写出这样一个程序:请用户输入每天花在手机上的娱乐时间 a,再把时间 a 乘以7,再打印--“您一周花在手机上的娱乐时间总共是××小时“。
操作:

a=input('请问您每天花在手机上的娱乐时间是几小时呢?')
b=int(a)*7
print('您一周花在手机上的娱乐时间总共是'+str(b)+'小时')

运行结果:

请问您每天花在手机上的娱乐时间是几小时呢?1
您一周花在手机上的娱乐时间总共是7小时

小结:
1、不同数据类型的数据,不能用加号直接连接;
2、input函数默认将输入的数据存储为字符串;
3、整数和浮点数的存储方式不同,因此1和1.0是不同的数据类型,整数和浮点数都不能使用len() 函数;

(注:2018.10.12,Python编程,捡破烂儿的笨小孩学习小记,有用就给个小心心哟,后续持续更新ing)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容

  • 数据类型 计算机其实就是一个做数学运算的机器,所以计算机程序的主要任务就是处理各种数值。但是计算机要处理的数值,可...
    幸福并感激着阅读 21,196评论 7 62
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,782评论 2 16
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,118评论 0 13
  • 我有很多话想给你说,可是长大后的人们变得很奇怪,他们可以嬉笑怒骂油腔滑调吊儿郎当或故作正经,却将真实自我情感...
    又下阅读 236评论 2 0
  • 夏天快到了,又到了白木耳即银耳的食用季节。但现在市面上的银耳多是熏银耳,银耳被此般处理一般就两个目的:一是利用二氧...
    肖成燕阅读 3,896评论 0 0