2020-07-06数据分析基础班3

03 基本数据类型

1.几个概念

1.1 表达式

定义:表达式,就是由数字、算符、数字分组符号(括号)、自由变量和约束变量等,以能求得数值的有意义排列方法所得的组合。例如:1+12*4

表达式特点:

(1)表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响

(2)如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出


1.2 语句

定义:一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成。在程序中,语句一般是要完成某些功能,如print();input();for XXX in yyy......

语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果。

代码块:Python程序是由代码块构造的。块是一个python程序的文本,是作为一个单元执行的。一个模块,一个函数,一个类,一个文件等都是一个代码块。

而作为交互方式输入的每个命令都是一个代码块。例如:条件控制语句。

pass语句:python中的空语句,只是用来保证我们程序结构的完整性(没想好怎么写的时候)


1.3程序

定义:程序就是由一条一条的语句和一条一条的表达式构成的,表达式和语句是构成程序的最小基本单位。


1.4函数

(1)定义:函数就是一种语句,函数专门用来完成特定的功能。函数形如:xxx()  , 比如:max() min() len() print() input()

(2)函数的分类:

内置函数 : 或者称为内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。(详见官网)

自定义函数  :   由程序员自主的创建的函数  当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数。

(3)函数的2个要素:

参数:函数中括号的内容,可以有一个,可以有多个,若有多个,用英文逗号,隔开。比如print(a,b)。也可以没有内容。

返回值   :就是函数返回的结果。


2. 标识符

2.1 关键字

python语言的组成:

(1)关键字(2)标识符(3)注释(4)变量和数值(5)运算符(6)语句(7)函数(8)序列

定义:所谓的关键字,就是python一些具有特殊功能的标识符,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符 。

python的关键字

2.2 标识符概念 

(1)定义:开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名、类名等。由26个英文字母大小写,数字 0-9 符号 _$ 组成

(2)标识符的规则:

#标识符中可以包含字母、数字、下划线_,但是不能使用数字开头,例如:name1 name_1 _name1 1name(不行)

#Python中不能使用关键字和保留字来作为标识符

(3)命名方式:

#驼峰命名法

小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog

大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName

#下划线命名法

不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 get_url  buffer_size


3. 基本数据类型

定义:数据类型,指的就是变量的值的类型。


3.1 整数和小数

整数 : 所有整数    例如 : a = 1 b = 100 c =999  都是int类型。如果数值太大,可以隔三位用下划线_分开

小数常量 : 所有小数     例如 a = 1.2 b=6.66  用float类型表示。

浮点型运算,特点是会保留近似值,是因为二进制转换成十进制的原因,比如0.3=0.30000000000000004


3.2 布尔值和空值

(1)布尔值: 只有2个值一个是真值True 一个是假值False,布尔常量是做逻辑判断的。

#########  它们也属于特殊的整型,True相当于1,False相当于0

(2)None常量:只有一个数值就是None 也就是空值


4 变量

4.1 变量的概念

(1)定义:变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字。

(2)变量命名规则:

变量名由字母、数字、下划线组成要符合标识符的命名规范:数字不能开头,不能使用关键字。

#注意 : 两个对象相等,和两个对象是同一个对象,是两个概念,即:两个对象的值相等,不代表他们是同一个对象,例如:

d1 = {'Jerry':'Python'}       #字典

import copy

d2 = copy.deepcopy(d1)    # 把d1的值copy给d2

print(d2)            # 结果是:{'Jerry': 'Python'}

print(id(d1),id(d2))    #返回的结果是两个不同的对象id:2159738099816 2159738100616,说明是不一样的对象

print(d1==d2)    #返回的结果:True,说明两个对象的值是相等的


4.2变量的运算

加法
乘法

变量的运算就是正常的四则运算 ,需要注意的是:在运算过程中含有浮点数,那么它返回的结果就是一个浮点数类型。


5 字符串

5.1 什么是字符串

(1)定义:字符串是由数字、字母、下划线组成的一串字符

(2)注意:

#单引号和双引号不能混合使用

#Python中用一对单引号,或者一对双引号包裹的内容就是字符串

#嵌套:"Let's play!"


5.2 转义字符

(1)定义:转义字符是一种特殊的字符常量,告诉解释器它不是用于包裹字符串的。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符

(2)总结:

\t 表示制表符,跳到下一个Tab的位置

\n 表示换行符,写在新一行开头

\\ 表示反斜杠

\'  表示 '    

\ '' 表示 ''

......

5.3 长字符串

(1)定义:长字符串,又叫做文档字符串,我们使用三重引号来表示一个长字符串''' '''

(2)注意:三重引号可以换行,并且会保留字符串中的格式,

例如:

love='''我爱你,

赵云'''

print(love)

结果:

我爱你,

赵云


5.4 格式化字符串

第一种格式化字符串 拼串

用加号+拼接字符串(其他类型【如整数】和字符串不能拼接),用于如:拼接url     url = 'https:' + /xxx/xxxx.img

举例1:

>>>'6'+'6'

'66'

举例2:

s = 'hello'

print('s = '+ s)     

s = hello


第二种格式化字符串 参数传递

print函数里面可以有多个参数,参数之间就是用逗号,连接

举例1:

print('abc','nba')   

abc nba

举例2:

s ='hello'

print('s = ',s)

s = hello


第三种格式化字符串 占位符

%s 字符串占位

%f 浮点数占位

%d 整数占位

举例1:

>>>'I love %s'%'study'

'I love study'

举例2:

>>>a='I love %s'

>>>a % 'python'

'I love python'

举例3:

print('s = %s' % 'hello')

s = hello

举例4:

s ='s = %s, s2 = %s' ('hello','python')    #若%后只有一个字符串,或者有两个但是没有放在元组()里,就会报错TypeError: not enough arguments for format string

print(s)

s = hello, s2 = python

举例5:

a='云今天跑了 %d 公里,%s竟然比他跑得更多。'%(4,'信''和''守约')

print(a)

云今天跑了 4 公里,信和守约竟然比他跑得更多。

举例6:

a='云今天跑了 %d 公里,比他跑得更多的竟然是%s'%(4,'信''和''守约''。')

print(a)

云今天跑了 4 公里,比他跑得更多的竟然是信和守约。


第四种格式化字符串    f+str & r+str  & str.format

(1) f+str    (即f'{变量1}{变量2}......')

举例1:

baby1='赵云'

baby2='百里守约'

x=f'王者荣耀里,我爱{baby1},也爱{baby2}。'

print(x)

#王者荣耀里,我爱赵云,也爱百里守约。

举例2:

babe='赵云'

h=f'i love {babe}'

print(h)

i love赵云


(2)r+str (正则表达式*除外)

举例1:

x=r'python'   

print(x)

python

举例2:

x=r'python','suck'

print(x)

('python', 'suck')


(3) str.format

错误例子:

s = 'i like {a}'

a = s.format('python')

print(a)

不行,没找到a,KeyError: 'a'

正确例子:

s = 'i like {}'

a = s.format('python')

print(a)

i like python

或者花括号里多加一个0 也可以(加一个1就不行,会报错IndexError: tuple index out of range,越界了,所以啥也不写最好)

s ='i like {0}'

a = s.format('python')

print(a)

i like python

有两个的话同理,花括号里可以啥也不写,也可以填入0和1 ( 写1和2就不行,又出现IndexError: tuple index out of range)

s = 'i like {0},{1}'     

a = s.format('python','java')

print(a)

i like python,java

举例1:

a='我最喜欢赵云的英雄皮肤是{},{}'

b=a.format('龙胆','白执事')

print(b)

我最喜欢赵云的英雄皮肤是龙胆,白执事

举例2:

a='我最喜欢的女英雄是{}'

b=a.format('花木兰')

print(b)

我最喜欢的女英雄是花木兰


练习

(1)占位符方法

d = '张三 %d 岁. %s岁数更大'%(22,'李四')           #括号是元组

print(d)

张三22 岁. 李四岁数更大


(2)str.format 方法

d = '张三 {0} 岁. {1}岁数更大'

r = d.format(22,'李四')

print(r)

张三22 岁. 李四岁数更大


(3)f+str 的方法

age =22

name ='李四'

w =f'张三{age} 岁,{name}岁数更大'

print(w)

张三22岁,李四岁数更大


5.5 字符串的其他操作

(1)len()  用于字符串的长度(有多少个字,包括空格)

举例1:

print(len('i love zhaoyun'))

14

举例2:

print(len('iloveyou'))

8


(2)max() 最大值     -----比较的是ascii码的值 

举例1:

x='abc'

print(max(x))

c

举例2:

a=10

b=33

c=21

x=a,b,c

print(max(x))


(3)min() 最小值

x='abc'

print(min(x))

a


综合举例:

a ='Jerry Python'

print(max(a),min(a))

y       #最大值是y,最小值是空格


ord()函数可以去查找字符所对应ascii值

print(ord('y'),ord(' '))

121 32

特殊:一个反斜杠有转义的作用,所以测不出来,两个才代表一个反斜杠

print(ord('\\'))

92


拓展:

判断一个字符串是否在这个字符串当中,用in,如果在返回True 如果不在返回Fasle

举例:

c='abc'

print('a' in c)

True

否则:

print('j' in c)

False


(4)split() 分割字符串,分割之后会把结果返回到一个列表里面

应用举例:分割网址,要选择最好的分割方式,如/ . =

https://www.jianshu.com/writer#/notebooks/12284287/notes/73041915

举例1:

s ='I love china'

r=s.split(' ')    ----单引号间为分割方式,此处是空格

print(r)

['I', 'love', 'china']   ----列表

举例2:

s1 ='www.baidu.com'

r = s1.split('.')     -----单引号间是. 

print(r)

['www', 'baidu', 'com']


(5)join() 拼接字符串,语法:str.join(seq)      str是拼接的方式,seq是序列的内容

a ='abc' #以 - 拼接,效果是a-b-c

r ='-'.join(a)

print(r)

a-b-c


去空格

(1)s.strip() 左右两边去空格

s.strip()左右两边去空格

s =' Python '     ----左右两边有空格

r = s.strip()

print(s)

 Python    ----直接打印s的话,左右两边有空格

print(r)

Python     ----用了s.strip()的r,打印出来就去掉了两边的空格


(2)s.lstrip() 去左边空格

s =' Python '

print(s.lstrip())

Python      ----右边仍有空格


(3)s.rstrip() 去右边空格

s =' Python '

print(s.rstrip())

 Python    ----左边仍有空格


字符串大小写

(1)s.upper() 全部大写

a ='I Love China'

print(a.upper())

I LOVE CHINA


(2)s.lower() 全部小写

a ='I Love China'

print(a.lower())

i love china


(3)s.isupper() 判断是不是大写,如果是就返回True,如果不是则返回False

b ='HELLO'

print(b.isupper())

True


(4)s.islower() 判断是不是小写,如果是就返回True,如果不是则返回False

b ='HELLO'

print(b.islower())

False


###今日作业

1. 练习课堂中老师敲的代码

2.现在 a,b = 6, 8 ,如果想让a=8 b=6,该怎么办?用2种方式实现。

两种交换变量的方式

参考文章:https://www.cnblogs.com/oldfish123/p/11780271.html


3.print()语句练习,用两种方式打印 “hello,python”。

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