Python3 基本数据类型
- 变量不需要声明
- 每个变量使用前必须赋值,赋值以后才能被建立
- 在Python中,变量没有类型,我们所说的”类型”,是指变量所指的内存中对象的类型。
type()
和isinstance()
用来查询变量所指的对象类型,
type()
和isinstance()
区别:
type()
不会认为子类是一种父类类型isinstance()
会认为子类是一种父类类型
- python3中有六个标准数据类型
- Number
- String
- List(列表)
- Tuple(元组)
- Sets(集合)
- Dictionary(字典)
1.Number
- 支持
int,float,bool,complex(复数)
a,b,c,d=20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))
del var1,var2
- 数值的除法
/
返回一个浮点数,要获取整数使用//
- 在混合计算时,会把整数转换为浮点数
- 数据类型是不允许改变的,如果改变数字数据类型的值,将重新分配内存空间
整数
浮点数
复数
- 由实数部分和虚数部分构成,可以用a+bj或complex(a,b)表示
2.String
- 索引值以0开始,-1为从末尾的开始位置
- 字符串是不能更改的
+
,连接字符串*
,复制字符串,后面的数字为复制次数
print(str *2) #输出字符串两次
- 截取字符串,
变量[头下标:尾下标]
print(str[0:-1])
print(str[0])
print(str[2:])
常用函数
函数名 | 描述 |
---|
capitalize() | 将字符串的第一个字符串转换为大写 |
center(width,fillchar) | 返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认空格 |
count(str,beg=0,end=len(string)) | 返回str在string里出现的次数,如果beg或end指定,则返回指定范围内str出现的次数 |
bytes.decode(encoding=’utf-8’,errors=’strict’) | Python3中没有decode方法,可以使用bytes对象的decode()解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 |
encode(encoding=’utf-8’,errors=’strict’) | 以encoding指定的编码格式编码字符串,如果出错默认ValueError异常,除非errors指定为’ignore’或’replace’ |
expandtabs(tabsize=8) | 把字符串string中的tab符号转为空格,tab符号默认的空格数是8 |
find(str,pos_start,pos_end) | 检测str中是否包含在字符串中,如果是返回开始的索引值,否则返回-1 |
index(str,pos_start,pos_end) | 跟find()一样,但是如果str不在字符串中会报异常 |
isalnum() | 如果字符串中至少有一个字符并且所有字符都是字母或数字,则返回True,否则False |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则False |
isdigit() | 如果字符串只包含数字则返回True,否则False |
islower() | 如果字符串中包含至少一个区分大小写的字符,并且所有的都是小写,是则True,否则False |
isnumeric() | 如果字符串中只包含数字字符,是则True,否则False |
isspace() | 如果字符串中只包含空格,是则返回True,否则False |
issuper() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些字符都是大写,是则True,否则False |
join(seq) | 以指定的字符串作为分隔符,将seq中所有的元素合并为一个新字符串 |
len() | 返回字符串长度 |
lower() | 转换字符串中所有大写字符为小写 |
max(str) | 返回str中最大的字母 |
replace(str1,str2,max) | 把字符串中的str1替换为str2,如果指定max,则替换次数最大为max |
split() | 通过指定分隔符对字符串切片,并返回分割后的字符串列表 |
strip() | 在字符串上执行lstrip()和rstrip() |
swapcase() | 转换大小写 |
编码问题
一般采用utf-8
编码,
在文件开头增加两行
第一行告诉Linux这是一个Python文件,Windows会自动忽略
第二行告诉Python解释器,按utf-8读取源码
格式化
python中格式化方式与C语言一致。用%
表示
3.List
- 列表用
[]
表示 - 列表可以被索引和截取,截取后返回一个包含所需元素的新列表
- 列表的元素可以修改,列表元素可以不同,也可以嵌套
- 列表是有序的
- 使用
del
删除列表元素 - 列表索引从0开始
常用操作符
表达式 | 结果 | 描述 |
---|
len([1,2,3]) | 3 | 长度 |
[1,2,3]+[4,5,6] | [1,2,3,4,5,6] | 组合 |
[‘Hi!’]*3 | [‘Hi!’,’Hi!’,’Hi!’,’Hi!’] | 重复 |
3 in [1,2,3] | True | 元素是否存在于列表中 |
for x in [1,2,3]:print(x,end=’‘) | 1 2 3 | 迭代 |
内置函数
方法 | 描述 |
---|
list.append() | 在列表末尾增加新的元素 |
list.count() | 统计某个元素在列表中出现的次数 |
list.extend() | 在列表末尾一次性追加另一个序列中的多个值 |
list.index() | 找出列表中某个值第一个匹配项的索引位置 |
list.insert() | 插入列表 |
list.pop() | 移除列表的最后一个元素,并返回该元素的值 |
list.remove() | 移除列表中某个值的第一个匹配项 |
list.reverse() | 反向列表中元素 |
list.sort() | 对列表排序 |
list.clear() | 清空列表 |
list.copy() | 复制列表 |
4.Tuple
- 元组用
()
表示 - 元组的元素不能修改
- string,list,tuple都属于sequence(序列)
- 函数返回多个值的时候,以元组的方式返回
- 可以使用
del
删除整个元组
内置函数
函数 | 描述 |
---|
len() | 计算元素个数 |
max() | 返回元素最大值 |
min() | 返回元素最小值 |
tuple() | 将列表转换为元组 |
5.Set
- 无序不重复序列,是一组key的集合,没有value,且key不重复
- 创建一个set,需要提供一个list作为输入,重复元素在set中自动过滤
>s=set([1,2,3])
>s
[1,2,3]
s=set([1,2,2,3,3])
- 可以使用
{}
或set()
创建集合 - 创建一个空集合必须使用
set()
,而不能使用{ }
,{ }
是用来创建一个空字典 - Set可以进行集合运算
a=set('abracadabra')
b=set('alacazam')
print(a - b)
print(a | b)
print(a & b)
print(a ^ b)
- 使用
add(key)
可以添加元素到set中,可以重复添加,但不会有效果 - 使用
remove(key)
可以删除元素 - 不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”
6.Dictionary
- 字典是无序的键值对,
key:value
- 用
{}
表示 - 删除一个字典或一个元素都可以用
del
dict={'Name':'t','Age':10}
del dict['Name']
dict.clear()
del dict
特性
- 键必须是不可变的,值可取任何数据类型
- 键(key)必须是唯一的
dict={}
dict['one']='1'
dict[2]='2'
tinydict={'name':'r','code':1}
print(dict['one'])
print(dict[2])
print(tinydict.keys())
print(tinydict.values())
内置函数
函数 | 描述 |
---|
dict.clear() | 删除字典内所有元素 |
dict.copy() | 返回一个字典的浅复制 |
dict().fromkeys() | 创建一个新字典,以序列seq元素做字典的键,val为字典键对应的值 |
dict.get() | 返回指定键的值 |
key in dict | 如果键在字典则返回true,否则false |
dict.items() | 以里边返回遍历的元组 |
dict.keys() | 以列表返回一个字典所有的键 |
dict.values() | 以列表返回字典中所有值 |
dict.setdefault(key,default) | 和get()类似,如果键不存在于字典中,添加键并设值为default |
dict.pop(key) | 删除指定键key的值,并返回该值 |
7.数据类型转换
函数 | 描述 |
---|
int(x) | 将x转换为整数 |
float(x) | 将x转换为浮点数 |
str(x) | 将x转换为字符串 |
list(x) | 将x转换为列表 |