Python基础数据类型

1.int

# int 用于计算
num = 3
# int 与其他数据类型转换
int_to_str = str(num) # 数字加引号
print(int_to_str)
int_to_bool = bool(num) # 非0 为True 否则为False
print(int_to_bool)

2.bool

# bool True False 用于判断真假
b = True
# bool于其他类型之间转换
bool_to_int = int(b) # True 1 False 0
print(bool_to_int)
bool_to_str = str(b) # True False 加引号
print(bool_to_str)

3.str

3.1字符串索引和切片

"""字符串索引
下标从0开始,最后一位为-1
"""
name = "zhangsan"
print(name[0]) # 取第一个
print(name[-1]) # 取最后一个
"""字符串切片
获取字符串中的一段字符
原则:顾头不顾尾
"""
name = "zhangsan"
print(name[0:5]) # zhang
print(name[:5]) # zhang 为0时可省略
print(name[5:]) # san取到最后
"""步长"""
print(name[:5:2]) # zag
print(name[:-4:-1]) # nas

3.2字符串常用方法

"""1.首字母大写"""
name = "zhangsan is my Name"
print(name.capitalize()) # Zhangsan is my name 后面的大写也会改为小写
"""2.特殊字符分隔,首字母大写"""
print(name.title()) # Zhangsan Is My Name
name = "dsa68fud dnsa%asdo*mmfd"
print(name.title()) # Dsa68Fud Dnsa%Asdo*Mmfd 特殊字符+数字+空格等
"""3.全部大写/小写"""
name = "zhangsan is my Name"
print(name.upper())
print(name.lower())
"""4.判断字符串开头或者结尾"""
name = "zhangsan"
print(name.startswith('z'))
print(name.startswith("zhan"))
print(name.endswith("n"))
print(name.endswith("san"))
"""5.字符或者切片出现次数"""
name = "zhangsan"
print(name.count('a'))
print(name.count("an")) # 如果没有返回0
"""6.字符串分割"""
name = "zhangsan is my Name"
print(name.split()) # 默认分割符为空格,返回一个列表
print(name.split('a')) # 指定分割符分割
"""7.首尾空格去除"""
name = " zhangsan is my Name "
print(name.strip()) # 首尾空格
print(name.lstrip()) # 左边空格
print(name.rstrip()) # 右边空格
name = "**zhangsan is my Name**"
print(name.strip("*")) # 首尾*
"""8.format三种形式"""
info = "my name is {},my age is {},my hobby is{},my name is {}!".format('zhangsan', 20, 'study', 'zhangan')
print(info)
info = "my name is {0},my age is {1},my hobby is{2},my name is {0}!".format('zhangsan', 20, 'study')
print(info)
info = "my name is {name},my age is {age},my hobby is{hobby},my name is {name}!".format(name='zhangsan', hobby='study',
age=20)
print(info)
"""9.替换"""
name = "zhangsan"
print(name.replace('a', 'b')) # zhbngsbn
print(name.replace('a', 'b', 1)) # zhbngsan
"""10.is相关"""
name='abcd123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成

4.list

4.1列表索引和切片

"""列表的索引"""
li = [1, 2, 'a', 'b']
print(li[0])
print(li[-1])
# 类似于字符串
"""列表的切片"""
li = [1, 2, 'a', 'b']
print(li[0:2])
# 类似于字符串,得到的是新列表

4.2列表的增

#  append 在列表最后添加
li = [1, 2, 'a', 'b']
li.append('c') # [1, 2, 'a', 'b', 'c']
print(li)
# insert 指定索引位置添加
li = [1, 2, 'a', 'b']
li.insert(1, 'insert')
print(li) # [1, 'insert', 2, 'a', 'b'] # 迭代追加
li = [1, 2, 'a', 'b']
li.extend("cdef")
print(li) # [1, 2, 'a', 'b', 'c', 'd', 'e', 'f']
li = [1, 2, 'a', 'b']
li.extend([3, 4, 5])
print(li) # [1, 2, 'a', 'b', 3, 4, 5]

4.3列表的删

# pop 指定索引位置删除
li = [1, 2, 'a', 'b']
li.pop(0) #
print(li) # [2, 'a', 'b']
print(li.pop(0)) # 返回被删除元素
li.pop()
print(li) # ['a'] 默认删除最后一个元素 # remove 删除指定元素
li = [1, 2, 'a', 'b']
li.remove('a')
print(li) # [1, 2, 'b'] # clear 清空列表
li = [1, 2, 'a', 'b']
li.clear()
print(li) # del 删除列表
li = [1, 2, 'a', 'b']
del li
# print(li) 报错
# 删除指定索引元素
li = [1, 2, 'a', 'b']
del li[1]
print(li) # [1, 'a', 'b']
# 删除指定切片元素
li = [1, 2, 'a', 'b']
del li[0:2]
print(li) # ['a', 'b']
# 删除指定切片+步长元素
li = [1, 2, 'a', 'b']
del li[0:3:2]
print(li) # [2, 'b']

4.4列表的改

# 根据索引赋值
li = [1, 'a', 'b']
li[0] = 'v'
print(li) # 根据切片赋值
li = [1, 'a', 'b']
li[0:2] = 'dasf'
print(li) # ['d', 'a', 's', 'f', 'b'] # 根据切片+步长赋值 一一对应
li = [1, 'a', 'b']
li[::2] = '对应'
print(li) # ['对', 'a', '应']

4.5列表的查

li = [1, 2, 'a', 'b']
for i in li:
print(i) i = 0
while i < len(li):
print(li[i])
i += 1

4.6列表的其他方法

li = [1, 2, 'a', 'b']
# count 计算某个元素出现个数
print(li.count('a'))
# len
print(len(li))
# index
print(li.index('a'))
# sort
li = [3,2,5,1,4]
li.sort()
print(li) # [1, 2, 3, 4, 5]
li.sort(reverse=True)
print(li) # [5, 4, 3, 2, 1]
# reverse
li.reverse()
print(li) # join 可以实现将列表转成字符串,实现无缝连接
# 字符串转成列表 split
li = ['', '', 'a', 'b']
print('_'.join(li)) # 1_2_a_b

4.7列表嵌套

# 列表嵌套: 列表中包含列表
li = [1, 2, [3, 4, 5], 6, 7, 8]
print(li[2]) # [3,4,5]
print(li[2][0]) # 3

5.tuple(不可变类型)

5.1元祖的索引和切片

tu = (1, 2, 3, [4, 5, 6])
# 通过索引获取元祖中的元素
print(tu[0])
# 通过切片获取元祖中的元素
print(tu[0:3]) # (1, 2, 3)

5.2元祖操作方法

# 直接从属于元组的元素不能更改,所以元组只能查看。
tu = (1, 2, 3, [4, 'a', 'b'], 'z')
for i in tu:
print(i) # 直接从属于元素元素不能更改,元祖中元素中的元素可能可以修改
tu = (1, 2, 3, [4, 'a', 'b'], 'z')
tu[3][2] = 'c'
print(tu) # (1, 2, 3, [4, 'a', 'c'], 'z') # count
print(tu.count('a'))
# len
print(len(tu))

6.dict

6.0数据类型分类

# 数据类型分类
不可变数据类型:int str bool tuple 可哈希
可变数据类型:list dict set 不可哈希
字典: 由键值对组成
key:可哈希,不可变数据类型,且要唯一,相同的key,后面值会覆盖
value:任意
dict1 = {1: 'a', 'b': 'c', 'b': 'm'}
print(dict1) # {1: 'a', 'b': 'm'}

6.1字典的增

# 通过key添加
dict1 = {1: 'a', 'b': 'c'}
dict1['b'] = 'm' # 键值存在,则直接覆盖
print(dict1)
dict1['c'] = 'd' # 键值不存在,则直接追加
print(dict1) # {1: 'a', 'b': 'm', 'c': 'd'} # setdefault添加
dict1 = {1: 'a', 'b': 'c'} # {1: 'a', 'b': 'c', 'c': None}
dict1.setdefault('c') # 默认为None
print(dict1)
dict1 = {1: 'a', 'b': 'c'} # {1: 'a', 'b': 'c', 'c': 'ad'}
dict1.setdefault('c', 'ad') # 没有此键,则添加,有此键,则不变
print(dict1)
dict1 = {1: 'a', 'b': 'c'}
dict1.setdefault('b', 'a') # 没有此键,则添加,有此键,则不变
print(dict1) # {1: 'a', 'b': 'c'}

6.2字典的删

# 通过key删除
dict1 = {1: 'a', 'b': 'c'}
dict1.pop('b') # 有则删除,没有则报错,有返回值
print(dict1) # {1: 'a'} # pop加默认参数
dict1 = {1: 'a', 'b': 'c'}
dict1.pop('c', None)
print(dict1) # 没有不报错 # popitem 随机删除
dict1 = {1: 'a', 'b': 'c'}
dict1.popitem() # 随机删除一个
print(dict1) # clear 清空
dict1 = {1: 'a', 'b': 'c'}
dict1.clear()
print(dict1) # del 删除
dict1 = {1: 'a', 'b': 'c'}
del dict1['b']
print(dict1) del dict1

6.3字典的改

# 通过key修改
dict1 = {1: 'a', 'b': 'c'}
dict1['b'] = 'f'
print(dict1) # update
dict1 = {1: 'a', 'b': 'c'}
dict1.update(b='a1', g='g1')
print(dict1) # {1: 'a', 'b': 'a1', 'g': 'g1'} # 有则修改,无则添加 dict1 = {1: 'a1', 'b': 'c1'}
dict2 = {1: 'a', 'z': 'c2'} dict1.update(dict2)
print(dict1) # {1: 'a', 'z': 'c2', 'b': 'c1'} # 有则修改,无则添加
print(dict2) # {1: 'a', 'z': 'c2'}

6.4字典的查

# 通过key查
dict1 = {1: 'a', 'b': 'f'}
print(dict1['b']) # 有则打印,无则报错 # get
dict1 = {1: 'a', 'b': 'f'}
print(dict1.get('c')) # None
print(dict1.get('c', '没有时,默认值')) # keys
dict1 = {1: 'a', 'b': 'f'}
print(dict1.keys()) # dict_keys([1, 'b'])
# values
dict1 = {1: 'a', 'b': 'f'}
print(dict1.values()) # dict_values(['a', 'f']) # items
dict1 = {1: 'a', 'b': 'f'}
print(dict1.items()) # ict_items([(1, 'a'), ('b', 'f')])

6.5字典的其他方法

a, b = 1, 2
print('a=' + str(a), 'b=' + str(b)) # a=1 b=2 a, b = (1, 2)
print('a=' + str(a), 'b=' + str(b)) # a=1 b=2 a, b = [1, 2]
print('a=' + str(a), 'b=' + str(b)) # a=1 b=2 a, b = {'a': 1, 'b': 2}
print(a, b) # a b 拆包 dict1 = {'a': 1, 'b': 2, 'c': 3}
for k, v in dict1.items():
print('key=' + k)
print('value=' + str(v))
# key=a
# value=1
# key=c
# value=3
# key=b
# value=2

6.6字典嵌套

dict1 = {
'name': '张三',
'age': 21,
'friends': [{'name': '李四', 'age': 22}],
'hobby': {'hobby_1': '足球', 'hobby_2': '篮球', 'hobby_3': '跑步'}
} # 获取张三
print(dict1['name']) # 获取李四
print(dict1['friends'][0]['name']) # 获取跑步
print(dict1['hobby']['hobby_3'])

7.set

7.1集合的增

set1 = {1, 2, 3, 'a'}  # set集合中不可重复
print(set1) # {1, 2, 3, 'a'} set1 = {1, 2, 3, 'a'}
set1.update('v')
print(set1) # {1, 2, 3, 'v', 'a'} # 没有则添加 set1.update('a')
print(set1) # {1, 2, 3, 'v', 'a'} # 有则不变

7.2集合的删

# 随机删除一个元素
set1 = {1, 2, 3, 'a'}
set1.pop()
print(set1) # 删除指定元素
set1 = {1, 2, 3, 'a'}
set1.remove('a')
print(set1) # 清空
set1.clear() # 删除
del set1

7.3集合的其他方法

# 交集
set1 = {1, 2, 3, 'a'}
set2 = {2, 3, 'v'}
print(set1 & set2) # {2, 3}
print(set1.intersection(set2))
# 并集
set1 = {1, 2, 3, 'a'}
set2 = {2, 3, 'v'}
print(set1 | set2) # {1, 2, 3, 'a', 'v'}
print(set1.union(set2))
# 差集
set1 = {1, 2, 3, 'a'}
set2 = {2, 3, 'v'}
print(set1 - set2) # {1, 'a'}
print(set1.difference(set2))

8.其他

for i in range(1, 10):
print(i)

python基础篇_002_基础数据类型的更多相关文章

  1. Python学习之路基础篇--06Python基础+dict的学习

    字典和列表其实差不多,所说3.6 之前的版本字典是没有顺序的.是Python中唯一的映射数据类型,key 是可哈希(不可变数据类型),如元组.bool.int 和 str:value 是任意数据类型. ...

  2. iOS开发基础篇-Button基础

    一.简单介绍  UIButton 的功能:响应用户操作.显示文字.显示图片.调整内部图片和文字的位置. 二. UIButton 的状态  UIControlStateNormal :普通状态,为默认情 ...

  3. Python学习—基础篇之基本数据类型(二)

    Python中重要的数据结构 1.列表 2.元组 3.字典 4.集合 列表 1.创建列表 # 方式一 name = [] print(type(name)) # 执行结果 >>> & ...

  4. Python学习—基础篇之基本数据类型(一)

    数据类型 在python中,能够直接处理的基本数据类型主要有数字类型.字符串类型.字节类型.布尔类型.列表.元组.字典.集合等. 一.数字类型 1.1 数字类型的创建 # 数字类型 a = 10 b ...

  5. Python学习之路基础篇--04Python基础+数据类型

    1 int 只需知道 i.bit_length() 是算其二进制的位数, 如3 就是2: 5就是 3. 2 bool 要知道 while True == while 1   :除零以外的所有数都为真 ...

  6. Python学习之路基础篇--02Python基础+小作业

    1 变量 变量就是将一些运算的中间结果暂存到内存中,以便后续代码调用.必须由数字,字母,下划线任意组合,且不能数字开头.不能是python中的关键字,如['and', 'as', 'assert', ...

  7. Python学习之路基础篇--08Python基础+ 文件的基本操作和 注册小作业

    1 文件的基本操作 #1. 打开文件的模式有(默认为文本模式): r ,只读模式[默认模式,文件必须存在,不存在则抛出异常] w,只写模式[不可读:不存在则创建:存在则清空内容] a, 只追加写模式[ ...

  8. Python学习之路基础篇--10Python基础,函数进阶

    1 命名空间 对于Python 来说命名空间一共有三种 1 内置命名空间 —— Python 解释器 就是Python 解释器一启动就可以使用的名字,储存在内置命名空间中.内置的名字在启动解释器的时候 ...

  9. python 网络篇(计算机网络基础)

                               计算机网络的发展及基础网络概念                    广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无 ...

随机推荐

  1. Codeforces 1039D You Are Given a Tree [根号分治,整体二分,贪心]

    洛谷 Codeforces 根号分治真是妙啊. 思路 考虑对于单独的一个\(k\)如何计算答案. 与"赛道修建"非常相似,但那题要求边,这题要求点,所以更加简单. 在每一个点贪心地 ...

  2. 洛谷P5162 WD与积木 [DP,NTT]

    传送门 思路 真是非常套路的一道题-- 考虑\(DP\):设\(f_n\)为\(n\)个积木能搭出的方案数,\(g_n\)为所有方案的高度之和. 容易得到转移方程: \[ \begin{align*} ...

  3. Mave------pom.xml标签详解

    pom文件作为MAVEN中重要的配置文件,对于它的配置是相当重要.文件中包含了开发者需遵循的规则.缺陷管理系统.组织.licenses.项目信息.项目依赖性等.下面将重点介绍一下该文件的基本组成与功能 ...

  4. 自然语言处理之关键词提取TF-IDF

    统计每篇文章重要的词作为这篇文章的关键词,用tf-idf来实现.生产中有很多第三包可以调用,这里记录原理,顺便熟练python 1.公式 : 计算词频TF 考虑到文章有长短之分,为了便于不同文章的比较 ...

  5. 创建WIFI热点

    @echo off:beginecho 笔记本做无线WiFi程序(首次使用请先设置WiFi帐户.)echo 1.设置WiFi帐户,请按1echo 2.开启WiFi功能,请按2echo 3.闭关WiFi ...

  6. 51 NOd 1459 迷宫游戏 (最短路径)

    1459 迷宫游戏  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间, ...

  7. zabbix 3.2.4 使用详解

    一:zabbix简介及原理 二:zabbix添加主机: /usr/share/zabbix/include/locales.inc.php   #这里为zabbix语言包路径‘zh_CN’ 为true ...

  8. 阻止Java反编译蛋疼方法

    public class landv { private static String companyName="landv测试"; public static void main( ...

  9. Task任务的屏障机制

    Barrier 是 .Net 提供的一直并发的机制,它允许多个任务同步他们不同阶段的并发工作. 这里的关键点是[多个任务]和[不同阶段]. 假设有4个相同的任务(Task),每个任务都有4个阶段(Ph ...

  10. FATAL Fatal error during KafkaServerStable startup. Prepare to shutdown (kafka.server.KafkaServerStartable) java.io.FileNotFoundException: /tmp/kafka-logs/.lock (Permission denied)

    1.启动kafka的时候,报错如下所示: [-- ::,] INFO zookeeper state changed (SyncConnected) (org.I0Itec.zkclient.ZkCl ...