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. android中的LaunchMode详解----四种加载模式

    Activity有四种加载模式: standard singleTop singleTask singleInstance 配置加载模式的位置在AndroidManifest.xml文件中activi ...

  2. Confluence 6 修改站点标题

    站点标题是在浏览器的标题栏中显示的.在默认的情况下,标题被显示为 Confluence. 希望修改你站点的标题: 在屏幕的右上角单击 控制台按钮 ,然后选择 General Configuration ...

  3. hdu4966 最小树形图+虚根

    /* 辛辛苦苦调试半天, 过了样例,竟然没有ac!! 网上对比了ac代码,感觉添加一个虚根就能ac 但是想不明白为什么 */ /* 第二天想了下,知道了为什么wa:因为从等级0连到其他课程等级i的不止 ...

  4. CF919F

    题意: Alice和Bob玩游戏,每人各有8张牌,牌的大小在0~4之间 每次操作,先手可以选择自己一张牌和对方一张牌求和后%5,将新的牌替代自己拿出的那张牌,以此类推,直到有一个人手中的牌全部是0,则 ...

  5. C++中的继承(1) 继承方式

    1.继承与派生  继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一.简单的说,继承是指一个对象直接使用另一对象的属性和方法.继承呈现了 面向对象程序设 计的层次结构, 体现了 由简单 ...

  6. Just oj 2018 C语言程序设计竞赛(高级组)D: 四边形面积

    D: 四边形面积 时间限制: 1 s      内存限制: 128 MB      提交 我的状态 题目描述 有一个四边形,现在需要求它的面积 输入 输入四行,每行两个数整数xx, yy (1≤x,y ...

  7. tensorflow:验证码的识别(下)

    上两篇详细的说明了验证码的识别,不过我们采用的是方法二,下面采用方法一.注意和方法二的区别. 验证码识别方法一: 把标签转为向量,向量长度为40.(4位数字验证码) 验证码的生成和tf.record的 ...

  8. 页面注册系统--使用forms表单结合ajax

    页面注册系统--使用forms表单结合ajax 在Django中通过forms构建一个表单 1.urls.py 配置路由 from django.conf.urls import url from d ...

  9. C#算法 选择排序、冒泡排序、插入排序

    1.冒泡排序: 方法一: public static int[] MaoPao(int[] arr) { //执行多少次 for (int i = 0; i < arr.Length; i++) ...

  10. 根据现有的XML文件生成其对应的实体类

    方法如下: 1.将完整的Xml文本复制一下, 2.在vs2013(或以上版本) .net4.5项目下建立一个类文件, 3.依次选择菜单:编辑->选择性粘贴->将XML粘贴为类.