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. 【MySql】Group By数据分组

    GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. 因为聚合函数通过作用于一组数据而只返回一个单个值, 因此,在SELECT语 ...

  2. Oracle 所有的权限列表

  3. Confluence 6 Oracle 连接问题解决

    如果 Confluence 提示没有 class 文件,你可能将你的 JDBC 驱动放置到了错误的文件夹. 下面的页面包含了一些你在使用 Oracle 数据库连接的时候可能会遇到的常见问题,请参考: ...

  4. nodejs之glob与globby

    glob glob允许使用规则,从而获取对应规则匹配的文件.这个glob工具基于javascript.它使用了 minimatch 库来进行匹配 安装 npm install glob 引入 cons ...

  5. mysql服务器没有响应

    第一步删除c:\windowns下面的my.ini(可以先改成其它的名字也行) 第二步打开对应安装目录下\mysql\bin\winmysqladmin.exe 输入用户名 和密码(也可以忽略此步) ...

  6. Es6模块语法笔记

    /** * Created by Administrator on 2017/4/15. */ /*---------------------export命令--------------------- ...

  7. laravel 多对多关联 attach detach sync

    用户表和角色表,多对多关联,一个用户有多个角色,一个角色属于多个用户 添加多对多关联 attach: 给1号用户添加1号角色,并把关联表的column字段赋值为$value,后边的数组需要的时候再添加 ...

  8. SVN项目迁移到Git上(并带有完整的提交记录)

    公司需求:早期的一些项目使用的是SVN,现在想要更换为Git,需要代码迁移并且能在Git上看到之前在SVN中的项目的提交记录,公司没有使用gitlab,代码都push在公司的服务器上,用的是Torto ...

  9. C++ Primer 笔记——动态数组

    1.动态数组定义时也需要指明数组的大小,但是可以不是常量. int i; int arr[i]; // 错误,数组的大小必须为常量 int *p = new int[i]; // 正确,大小不必是常量 ...

  10. 微信小程序--代码构成---JS 交互逻辑

    一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击.获取用户的位置等等.在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作. <view>{{ msg }}&l ...