授课内容:

基本数据类型的操作:数字的操作,字符串的操作,布尔数据的操作,判断数据的类型

重点:

二 、字符串的处理操作

(1)把一个字符串句子存储为字符串列表s.split()

s = "I like British very much"
s1 = s.split(" ")

['I', 'like', 'British', 'very', 'much']

type(s1)
list

(2)把一格字符串左边的空格删除,把一格字符串右边的空格删除,把一格字符串两边的空格删除s.strip()、s.lstrip()、s.rstrip()

s = "    USA British English     "
s1 = s.strip(" ")
s2 = s.lstrip(" ")
s3 = s.rstrip(" ")

s1
'USA British English'
s2
'USA British English     '
s3
'    USA British English'

(3)数某些字母的个数 例如“an”在字符串“sadhfjl an sdiedhan adskj”中出现了多少次,s.count('apple'),数出字符串s中有多少个‘apple’单词。如何数出列表中重复的单词

s = 'apple is a fruit , apple music'
print(s.count('apple'))

运行结果:
2

(4)字符转换成unicode码 ,ord()函数 ,比如‘l’转化成它对应的unicode码(一个数字),

print(ord('特'))
print(ord('斯'))
print(ord('拉'))

运行结果

29305
26031
25289

(5)Unicode码,电脑可以认识的码,转化为字符chr,用chr()函数,

print(chr(666))
print(chr(777))
print(chr(888))

运行结果

ʚ
̉
͸

(6)将字符串聚合,比如 ‘abcde’和['a','b','c','d','e'.'f'],一般是字符串才可以聚合

【1】
e = "12345"
r = '*'.join(e)
r

运行结果:
'1*2*3*4*5'

【2】
r = 12345
e = '@'.join(r)
print(e)

运行结果:
TypeError                                 Traceback (most recent call last)
<ipython-input-35-754abb58bd0e> in <module>
      1 r = 12345
----> 2 e = '@'.join(r)
      3 print(e)

TypeError: can only join an iterable

【3】
e = 'abcdef'
w = '*'.join(e)
w
运行结果:
'a*b*c*d*e*f'

(7)字符串替换 s.replace("python",'py'):将字符串s中的字符python替换为py

s = 'Python is a good langguage'
s1 = s.replace('Python','py')
print(s1)

py is a good langguage

print(s)
Python is a good langguage

(8)使字符串字母全部变成小写,使字符串全部变成大写,首字母大写用s.title()函数

s = 'QweQwr'
s1 = s.lower()
s2 = s.upper()
print(s1,s2)

qweqwr QWEQWR

三、布尔数据操作

(1)all() 函数,any()函数

all()函数,所有元素非0,答案才是非0的;

any()函数,有一个元素非0,答案就是非0的

s =all([True,True,False,True])
r =any([False,False,False,True,False])
print(s)
print(r)

False
True

(2)如何作为掩码

import numpy as np
r = np.array([[11,22,33,44]])
print(r>22)

运行结果:
[[False False  True  True]]


代码
r[r>22]
运行结果:
array([33, 44])

四、类型判别和类型转换

(1)判断某个变量是不是某个类的函数 isinstance() 

s = 123
r = 'abc'

print(isinstance(r,int))
print(isinstance(r,object))
print(isinstance(s,int))

运行结果:
False
True
True

(2)字符串的检测方法,是否只有数字,是否只有字母,是否只有数字字母.答案是True,False

s.isdigit()

s.isalpha()

s,isalnum()

(3)类型转换str()、int()、float()、eval()

实验表明只有字符串数字可以用这些函数

小结

(1)这一章主要介绍了一些函数的用法,可以概括为四大类,分别是处理数字的函数、处理字符串的函数、处理布尔类型的函数、判断变量类型和转换变量类型的函数;

(2)处理字符串的函数有:将一句话(字符串)按照空格区分开变成单词存储在列表中s.split(“ ”)函数;除去一个字符串左边、右边、左边右边的字符串函数lstrip(),rstrip(),strip()函数;判断子集是否在全集里的函数if ‘an’ in ‘adsd an falfjan dhahankd’函数;数出一个字符串中某个子集的个数函数s.count('XX');将一个字符串s中的某个字符‘python’全部换成‘py’的函数s.replace(“python”,“py”);将所有的字母大写、所有的字母小写、首字母大写s.upper()、s.lower()、s.title().;判断某个字符串是否全部为字母,全部为数字、全部为数字和字母s.isalpha(),s.isdigist(),s.alnum()函数;判断某个变量是否是类的一个实例isinstance(s,int)

处理布尔数据的函数:any(【X1,X2,X3,X4】)有一个正确则最后答案正确,all(【X1,X2,X3,X4】)所有元素正确则最后答案正确;某数组X,X > 22,那么X[ X > 22 ]会得到一个新的数组,数组里的元素全都大于22 ;