Python 基础 --- 变量类型

多个变量赋值

python提供了一个懒人赋值方法
1 多个变量赋同一个值
2 多个变量分别赋值

num1 = num2 = num3 = 1
numb1, numb3, str_a = 1, 3, 'str_a'

数据类型

Python3 中有六个标准的数据类型:

Number(数字)—不可变
String(字符串)— 不可变
List(列表)--------可变
Tuple(元组)-------不可变
Set(集合)----------可变
Dictionary(字典)-----可变

数字

Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
注意:

  1. 在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
  2. 除法运算 (/) 永远返回浮点数类型。如果要做 floor division 得到一个整数结果(忽略小数部分)你可以使用 // 运算符
print(3+6.3, type(3+6.3))
print(6/3, type(6/3))
print(6//3, type(6//3))

结果

9.3 <class 'float'>
2.0 <class 'float'>
2 <class 'int'>

字符串

  • 字符串由单引号或者双引号来表示,使用反斜杠(\)来转义。使用r可以让反斜杠不发生转义
print("te\nst")
print(r"te\nst")

结果

te
st
te\nst
  • 截取子字符串:
# 字符串获取子字符串的方法  变量名[开始位置:结束位置](不包含结束位置的字符) 
# 0表示第一个字符的位置,-1表示最后一个字符的位置
str_num = "0123456789"
print(str_num[0: 5])  # 获取下标0到5(不包含5)上的字符
print(str_num[0:])   # 获取从0开始(包含0下标)到 最后一个字符
print(str_num[0:-1])  # 获取从0开始(包含0下标)到 倒数第二个字符
print(str_num[: 5])  # 获取下标0到5(不包含5)上的字符 等于 str_num[0: 5]
print(str_num[-1:])  # 获取最后一个字符

结果

01234
0123456789
012345678
01234
9
  • 字符串的常用方法:
name = "  this is a title  "
print("title()", name.title())  # 每个单词首字母大写
print("upper()", name.upper())  # 所有字符大写
print("lower()", name.lower())  # 所有字符小写
print("swapcase()", name.swapcase())  # 所有字符大小写转换
print("strip()", name.strip())  # 去掉字符串左边和右边空格
print("rstrip()", name.rstrip())  # 去掉字符串右边的空格
print("lstrip()", name.lstrip())  # 去掉字符串左边的空格
print("str(num)", "I am " + str(30) + " years old")  # 使用str方法将数字转化为字符串,不能直接用 + 号将数字和字符串拼接。
print("len(num)", len("abcd"))  # 返回字符串长度
# str.split(str="", num=string.count(str)). 原定义
print("split", "we-are-all-good-!".split("-", 2))  # split方法可以传第二个参数num ,来表示分隔的次数,获得num+1个字符串
print("rsplit", "we-are-all-good-!".rsplit("-", 2))  # rsplit方法和split有点类似,只是从右边开始
print("find", "we are we".find("we", 0, 8))  # 找出参数在字符串第一次出现的位置,如果没有找到会返回 -1,可指定范围
print("rfind", "we are we!".rfind("we"))  # 和find 方法类似,只是从右边开始,可指定范围
print("index", "we are we!".index("we"))  # 和find 方法类似,只是如果找不到参数在字符串的位置,会报出“substring not found” 错误,可指定范围
print("rindex", "we are we!".rindex("we"))  # 和index 方法一样,只是从右边开始,可指定范围
print("count", "we are we!".count("we", 3, 9))  # 计算传进来的参数在字符串中的个数,可指定范围
print("replace", "we are we!".replace("we", "you", 1))  # 用you来替代we,产生新的字符串。 默认的是全部替代,可以指定替代个数
print("startsWith", "we are we!".startswith("we"))  # 检查字符串是否以we开始,可指定范围
print("ensWith", "we are we!".endswith("we"))  # 检查字符串是否以we结束,可指定范围
print("join", "-".join(["we", "are", "good"]))  # 用-去拼接参数,产生新的字符串

结果

title()   This Is A Title  
upper()   THIS IS A TITLE  
lower()   this is a title  
swapcase()   THIS IS A TITLE  
strip() this is a title
rstrip()   this is a title
lstrip() this is a title  
str(num) I am 30 years old
len(num) 4
split ['we', 'are', 'all-good-!']
rsplit ['we-are-all', 'good', '!']
find 0
rfind 7
index 0
rindex 7
count 1
replace you are we!
startsWith True
ensWith False
join we-are-good

列表

  • 表示和连接

列表用[ ] 来表示,可以像字符串那样切割(提取子列表),加号 + 是列表连接运算符,星号 * 是重复操作

li = ['1', '2', 3]
li = li + [4]
print(li)
print(li * 2)

结果

['1', '2', 3, 4]
['1', '2', 3, 4, '1', '2', 3, 4]
  • 列表常用方法
li = [1, 2, 3, 3 ]
li.append(4)
print("append", li)  # 在列表末尾添加新的对象
li.insert(0, 1000)
print("insert", li)  # 在指定位置插入新的对象(在1000插入下标为0的位置上)
print("count", li.count(3))  # 计算3在列表里的个数(不可指定范围)
print("index", li.index(1000, 0, 3))  # 获得1000在列表中的下标位置,可指定范围,找不到会报错
print("pop", li.pop(2))  # 在指定位置2上删除对象,并而返回该对象,如果没有指定位置,则表示最后一个对象。
li.remove(3)
print("remove", li)  # 移除列表中某个值的第一个匹配项(移除第一个3)
li.reverse()
print("reverse", li)  # 翻转列表
li.sort()
print("sort", li)  # 对列表进行升序排序,可以传参数reverse=True来表示降序。sort(reverse=True)
li = [1, 4, 3, 2]
print("sorted", sorted(li, reverse=True))  # 也可以使用python里边sorted方法对列表进行排序,而且不会改变原来列表
print(li)
print("len", len(li))  # 表示列表里边对象的个数
print("max", max(li))  # 获取列表最大值
print("min", min(li))  # 获取列表最小值
print("sum", sum(li))  # 对列表求和

结果

append [1, 2, 3, 3, 4]
insert [1000, 1, 2, 3, 3, 4]
count 2
index 0
pop 2
remove [1000, 1, 3, 4]
reverse [4, 3, 1, 1000]
sort [1, 3, 4, 1000]
sorted [4, 3, 2, 1]
[1, 4, 3, 2]
len 4
max 4
min 1
sum 10

元组

  • 元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。可以使用下标来获取元组中的元素,可以像字符串那样切割获取子元组。注意元组是不可变的,不能使用元组下标进行赋值,不然会报错 “TypeError: ‘tuple’ object does not support item assignment”
t = (1, 2, 3, 4, 5)
print(t[0])

结果

1
  • 元组的常用方法
del t  # 删除整个元组
print((1, 2, 3) + (4, 5))  # 用+号拼接,生成新的元组
t = (1, 2, 3)
print(t * 2)  # 用*号表示重复
print(1 in t)  # 用in表示对象是否在元组里

结果

(1, 2, 3, 4, 5)
(1, 2, 3, 1, 2, 3)
True

集合

可以用来删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

set1 = {1, 2, 3, 3}  # 删除重复元素
set2 = set([1, 2, 3])
set3 = set()  # 空集合

print(set1)
print(set2)
print(set3)

结果

{1, 2, 3}
{1, 2, 3}
set()

  • 集合的常用方法
set1 = {1, 2, 3}
set1.add(4)  # 将元素 4 添加到集合 set1 中,如果元素已存在,则不进行任何操作。
print("add", set1)
set1.update([5, 6], (7, 8), {9, 10})  # update 方法可以将列表,元组,字典等加入到集合里,而且参数可以有多个,用逗号隔开
print("update", set1)
set1.remove(10)  # 将元素 10 从集合 set1 中移除,如果元素不存在,则会发生错误。
print("remove", set1)
set1.discard(10)  # 类似于remove 方法,不过如果discard方法中参数不存在于集合里,不会报错。
print("discard", set1)
set1.pop()  # pop 方法会删除集合中一个元素,并且返回该元素,对于集合元素存在字符串的时候,是随机选择删除,否则就是删除最左边的元素
print("pop", set1)
set3 = {'a', 'b', 'c', 'd', 'e', 1}
print(set3.pop())
set1.clear()  # 清空集合
print("clear", set1)

结果

add {1, 2, 3, 4}
update {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
remove {1, 2, 3, 4, 5, 6, 7, 8, 9}
discard {1, 2, 3, 4, 5, 6, 7, 8, 9}
pop {2, 3, 4, 5, 6, 7, 8, 9}
a
clear set()

字典

字典是可变类型,且可存储任意类型对象。
字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

d1 = {'key1': 123, 456: [1, 3, 5]}
  • 字典的常用方法
print(d1['key1'])
print(d1[456])  # 可以直接用key值获取value值
d1[456] = 654  # 修改value值
print(d1)
del(d1[456])
print("del(d1[456])", d1)  # 删除某个键值对
d1.clear()
print("d1.clear()", d1)  # 清空所有键值对
del(d1)  # 删除字典对象
d1 = {'key1': 1, 'key2': 2}
# Python 字典 fromkeys(seq, value) 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值, 可以不传value参数,默认是None
d2 = dict.fromkeys([1, 2], "value")
print(d2)
print("items()", d1.items())  # 以列表返回可遍历的(键, 值) 元组数组
for k, v in d1.items():
    print(k, "---", v)

print("keys()", d1.keys())  # keys方法获取字典里边所有的key值
for k in d1.keys():
    print("key--", k)

print("values()", d1.values())  # keys方法获取字典里边所有的value值
for v in d1.values():
    print("value--", v)

d1.update({"key3": 3, "key4": 4})  # update方法合并另外一个字典
print(d1)
print("popitem()", d1.popitem())  # 返回并删除字典中的最后一对键和值。
print(d1)

结果

123
[1, 3, 5]
{'key1': 123, 456: 654}
del(d1[456]) {'key1': 123}
d1.clear() {}
{1: 'value', 2: 'value'}
items() dict_items([('key1', 1), ('key2', 2)])
key1 --- 1
key2 --- 2
keys() dict_keys(['key1', 'key2'])
key-- key1
key-- key2
values() dict_values([1, 2])
value-- 1
value-- 2
{'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4}
popitem() ('key4', 4)
{'key1': 1, 'key2': 2, 'key3': 3}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值