3.1 Python 字符串类型常用操作及内置方法

news2024/11/29 6:26:17

文章目录

      • 1. 类型转换
      • 2. 字符串索引取值
      • 3. 遍历字符串
      • 4. 统计长度
      • 5. 字符串的复制与拼接
        • 5.1 字符串的复制
        • 5.2 加号拼接
        • 5.3 .join 方法拼接字符串
      • 6. 字符比较
      • 7. 成员运算
      • 8. .format
      • 9. .split
      • 10. .strip
      • 11 . .upper 与 .lower
      • 12. .isupper 与 .islower
      • 13. .startswith 与 .endswith
      • 14. .replace
      • 15. .isdigit
      • 16. .isalpha
      • 17. .isalnum
      • 18. .title 与 .capitalize
      • 19 .swapcase
      • 20. .find 与 .index
      • 21. .count
      • 22. .center & .ljust & .rjust
      • 23. 练习

1. 类型转换

Python 内置 str() 函数将括号内的数据转为字符串类型数据. 任意类型的数据都可以被转为字符串.
# 1. 类型转换.py
# 解释权内部写法 str1 = str('abc')
str1 = str('abc')
print(str1, type(str1))

# 整型
print(str(123))

# 浮点数
print(str(123.4))

# 列表
print(str([1, 2, 3]))

# 元组
print(str(('hello',)))

# 字典
print(str({'a': 123, 'b': 456}))

运行工具窗口提示:
abc <class 'str'>
123
123.4
[1, 2, 3]
('hello',)
{'a': 123, 'b': 456}

2. 字符串索引取值

字符串中每个字符占一个索引, 索引从0开始. 通过索引取值方式又称为'切片'.

取值格式: 字符串[起始值: 上限值: 步长]
起始值: 起始位置, 从第几位开始取值.
上限值: 上限的位置, 只能获取到它的前一索引的值, 不包含它本身.
步长:  步长是正数从左往右正向取值, 默认为正1, 步长是负数从右往左反向取值.

省略索引:
省略第一个索引: 相当于使用索引0, 从索引0开始截取.
省略第二个索引: 相当于使用列表的长度, 意味着切片直至列表的末尾.

在这里插入图片描述

# 2. 索引取值.py
str1 = '0123456789'
print(str1[0])  # 取单个值.
print(str1[0:9])  # 一共取9个值, 取索引0-8的值
print(str1[0:30])  # 超出也只能取全部的值.
print(str1[0:])  # 省略第二个索引相当于使用列表的长度, 意味着切片直至列表的末尾.
print(str1[:9])  # 省略第一个索引相当于使用索引0.

# 倒序切片
print(str1[-10:-1])  # 负索引-1的值不会显示, -1是终止位不被包含.
print(str1[0:-1])  # 第一位到倒数第二位.
print(str1[-30:-1])  # 超出也只能从0取-1之间的值 等通于 [0:-1].
print(str1[-1:-11:-1])  # 利用索引 倒退写法, 步长是倒退-1.
print(str1[::-1])  # 倒取全部.

运行工具窗口提示:
0
012345678
0123456789
0123456789
012345678
012345678
012345678
012345678
9876543210
9876543210

3. 遍历字符串

for 循环语句可以依次获取字符串中的单个字符.
str1 = '0123456789'
# 遍历每个字符
for i in str1:
    print(i, end='--')
               
运行工具窗口提示:
0--1--2--3--4--5--6--7--8--9--

4. 统计长度

Python 内置 len() 函数统计序列类型的元素个数.
# 4. 统计字符长度.py
str1 = '0123456789'
print(len(str1))
运行工具窗口提示:
10

5. 字符串的复制与拼接

符号作用
+ 加号连接字符串.‘a’ + ‘b’ = ‘ab’
* 乘号复制字符串.‘a’ * 3 = ‘aaa’
Python 属于强类型语言, 不能类型的数据是无法互相操作的.
Python 中为了方便程序员的使用:
使用+, 让字符串与整型将加时, 使其不再表示加法, 而是拼接字符串.
使用*, 让字符串与整型将乘是, 使其不再表示乘法, 而是重复n次.

5.1 字符串的复制

# 5. 字符串的复制.py
str1 = 'abc'

print(str1 * 5)

运行工具窗口提示:
abcabcabcabcabc

5.2 加号拼接

# 6. 字符串的复制.py
str1 = 'abc'
str2 = 'def'

# 字符串拼接
print(str1 + str2)
# 字符截取拼接
print(str1[0:1] + 'a')

运行工具窗口提示:
abcdef
aa

5.3 .join 方法拼接字符串

方法: 方法是让对象调用的函数, 对象调用方法: 对象.方法()
字符串的 .join() 方法适用于列表中的字符串想加, 直接连接字符串比较麻烦还需要转为列表, 在拼接.

格式: '连接符'.join(可迭代对象) 
* 拼接的列表中存在不是字符串的元素会报错.
# 7. join方法拼接字符串.py
str1 = 'abc'
str2 = 'def'

list1 = [str1, str2]
# 以 空字符串 做为拼接符
print(''.join(list1))

# 以 - 做为拼接符
print('-'.join(list1))

运行工具窗口提示:
abcdef
abc-def

6. 字符比较

字符串比较大小, 会将字符转为ASCII表对应的十进制数来比较
ASCII编码范围在0-127, 定义了128个单字节字符.
超过这个范围则需要转为Unicode编码表对应的十进制数来比较.
# 8. 字符串比较.py
str1 = 'a'
str2 = 'b'
print(str1 > str2)

# 输入的字符串作为值 赋值 给变量
input_str = input('输入字符串>>>:')
# 值相等
print(str1 == input_str)

# 地址相等
print(str1 is input_str)

运行工具窗口提示:
False
输入字符串>>>:(a)
True
True

7. 成员运算

in      判断某个个体是否在某个群体当中, 返回布尔值.
not in  判断某个个体是否不在某个群体当中, 返回布尔值.
# 9. 成员运算.py
str1 = '0123456789'

print('0' in str1)
print('0' not in str1)

运行工具窗口提示:
True
False

8. .format

.format() 方法, Python官方推荐的使用的格式化输入.
.format() 方法使用{}占位, .format() 方法可以接送任意类型参数, 参数不能是变量.
使用方式一: {}默认按传递的参数依次获取值.
使用方式二:{}中写索引, 可以对参数进行多次调用. 索引是来源于format()的参数.
使用方式三: {}中写上变量名, .format()以关键字参数 变量名 = xxx 传参.
* {} 内不可是的位置参数不能是变量.
# 10. .format 方法.py
# 使用方式一
print('今天星期{}, 天气{}, 温度{}℃!'.format('一', '晴', 28))

# 使用方式二
print('现在时间是: {0}点{0}分{0}秒.'
      '距离下班时间还有{1}个小时{1}分{1}秒!'.format(13, 1))

# 使用方式三
print('{name}独断万古!'.format(name='荒天帝'))

name = '王腾'
print('吾儿{name}有大帝之姿!'.format(name=name))

"""
# 错误使用方法
name ='王腾'
print('吾儿{name}有大帝之姿!'.format(name))  
"""

运行工具窗口提示:
今天星期一, 天气晴, 温度28℃!
现在时间是: 131313.距离下班时间还有1个小时11秒!
荒天帝独断万古!
吾儿王腾有大帝之姿!

9. .split

.split('字符') 方法指定一个字符为分割点进行切分, 被切分的的字符串会以列表类型存放.
指定切割的字符不会保留, 不写默认指定为空字符, 指定的字符必须存在字符串中.

切割方向:
从左往右 .split('指定字符', maxsplit =_)    
从右往左 .rsplit('指定字符', maxsplit =_)   

''.join() 将列表多个字符串元素拼接成字符串.
引号内指定一个拼接符号, 引号内默认不写则不使用分隔符.

split 切分,  join还原.
# 11. .split 方法.py
str1 = 'abc and acg adf'
# 默认按空格切分
print(str1.split())

# 指定 | 作为分隔 , |不保留
str1 = '1 | 2 | 3| 4 | 5'
print(str1.split('|'))
# 最大切分一次
print(str1.split('|', maxsplit=1))

# 最大切分两次
print(str1.split('|', maxsplit=2))

# 从右往左, 最大切分一次
print(str1.rsplit('|', maxsplit=1))
# 从右往左, 最大切分两次
print(str1.rsplit('|', maxsplit=2))

list1 = ['1 ', ' 2 ', ' 3', ' 4 ', ' 5']
# 以空字符串拼接
print(''.join(list1))
# 以|拼接
print('|'.join(list1))

运行工具窗口提示:
['abc', 'and', 'acg', 'adf']
['1 ', ' 2 ', ' 3', ' 4 ', ' 5']
['1 ', ' 2 | 3| 4 | 5']
['1 ', ' 2 ', ' 3| 4 | 5']
['1 | 2 | 3| 4 ', ' 5']
['1 | 2 | 3', ' 4 ', ' 5']
1  2  3 4  5
1 | 2 | 3| 4 | 5

10. .strip

.strip()  方法移除指定的首尾字符.
.lstrip() 方法移除首部, 指定的的字符.
.rstrip() 方法移除尾部, 指定的的字符.
不写都默认移除空字符. 需要移除的字符用引号引起来, 中间的无法移除.

注意点: 
aipoo移除'aoa'
aoa 中的字符每个字符依次去 aipoo 前后匹配, 如果存在则移除.
# 12. strip 方法
str1 = ' 01234 56789 '
# 默认移除首尾空字符
print(str1.strip())


str2 = '###123 456@@@'
# 移除首尾 #
print(str2.strip('#'))
# 移除首尾 @
print(str2.strip('@'))

# 移除首尾 #
str3 = '###123 4566###'
print(str3.lstrip('#'))

# 移除尾
print(str3.rstrip('#'))

# 指定多个字符串移除
print('aipoo'.strip('aoa'))  # ip

运行工具窗口提示:
01234 56789
123 456@@@
###123 456
123 4566###
###123 4566
ip

11 . .upper 与 .lower

将纯字母字符转为 大写或者小写 其他的字符原样输出.
.upper() 方法将字符串中的字母全转为大写.
.lower() 方法将字符串中的字母全转为小写.
# 13. upper 与 .lower.py
str1 = 'AbCdEfG'

# 全转大写
print(str1.upper())  # ABCDEFG

# 全转小写
print(str1.lower())  # abcdefg

运行工具窗口提示:
ABCDEFG
abcdefg
设计一个程序, 将输入的字母  验证码 全转为大写或小写 在做比较.
# 14. 验证码示例.py
# 1. 创建一个验证码
code = 'sAD8'

# 2. 将验证码发给用户
print(f'xx验证码是:{code}')

# 3. 获取用户输入的验证码
input_code = input('输入验证码>>:')

# 4. 将输入的验证码 与 验证码 转为大写 做比较
if input_code.upper() == code.upper():
    print('验证成功!')
else:
    print('验证失败!')

运行工具窗口提示:
xx验证码是:sAD8
输入验证码>>:(sad8)
验证成功!

12. .isupper 与 .islower

.isupper('字符串')  判断字符串中的字母是否为全大写, 其它字符不会影响判断.
.islower('字符串')  判断字符串中的字母是否为全小写, 其它字符不会影响判断.
* 凡是方法描述信息带判断的, 返回的结果为布尔值.
# 15. .isupper 与 .islower.py
str1 = 'AbCdEfG'
str2 = 'ABC'
str3 = 'abc'

# str1的字母是否为全大写 或全小写
print(str1.isupper(), str1.islower())

# str2的字符串是否为全大写, str3的字符串是否为全小写
print(str2.isupper(), str3.islower())

# 其他字符不受影响
str4 = 'a我'
print(str4.islower())

运行工具窗口提示:
False False
True True
True

13. .startswith 与 .endswith

.startswith('字符串') 判断字符串是否以某个字符串开头, 区分大小写.
.endswith('字符串')   判断字符串是否以某个字符串结尾, 区分大小写.
# 16. .startswith 与 .endswith.py
str1 = 'Hello world!'

# 判断字符串是否以h开头(区分大小写)
print(str1.startswith('h'))

# 判断字符串是否以H开头
print(str1.startswith('H'))

# 判断字符串是否以Hello开头
print(str1.startswith('Hello'))

# 判断字符串是否以!结尾
print(str1.endswith('!'))

运行工具窗口提示:
False
True
True
True

14. .replace

.replace() 方法将指定字符替换.

格式: .replace(old, new, count=None)
old   需要替换的字符参数, 参数必须写.
new   替换的字符参数, 参数必须写.
count 替换的次数, 默认全部替换.
# 17. .replace 方法.py
str1 = 'aaaa aaaa aaaa'

# 将所有a替换为b
print(str1.replace('a', 'b'))

# 将所有a替换为b, 替换4次
print(str1.replace('a', 'b', 4))

运行工具窗口提示:
bbbb bbbb bbbb
bbbb aaaa aaaa

15. .isdigit

.isdigit('字符串') 方法判断字符串是否为纯整数字字符串, 浮点型不行.
# 18 .isdigit 方法.py
str1 = '123456'
str2 = '12.3'
str3 = 'a123'
str4 = ' 123'

print(str1.isdigit())
print(str2.isdigit())
print(str3.isdigit())
print(str4.isdigit())

运行工具窗口提示:
True
False
False
False
False
设计一个程序, 模拟登录, 密码是6位数整型. 要求用户输入密码,
程序对输入进行类型转换, 对密码进行校验, 避免字符串转整型报错.
验证成功退出程序, 否则要求继续输入.
* 设计程序的时候先写所条件为 False 的代码块, 可以提高代码的可读性.
# 19. 模拟登录.py
# 1. 创建密码
pwd = 123456

# 2. 循环代码块
while True:
    # 2.1 获取用户输入
    input_pwd = input('输入6位数的密码>>>:')

    # 2.2 判断字符串是否为纯整型数字
    if not input_pwd.isdigit():
        print('密码是纯数字!, 请重新输入!')
        continue

    # 2.3 对字符串进行类型转换
    input_pwd = int(input_pwd)

    # 2.4 校验密码
    if input_pwd != pwd:
        print('密码错误!, 请重新输入!')
        continue
    
    # 2.5 登入成功退出循环
    print('登录成功!')
    break

运行工具窗口提示:
输入6位数的密码>>>:(qwe)
密码是纯数字!, 请重新输入!
输入6位数的密码>>>:(123)
密码错误!, 请重新输入!
输入6位数的密码>>>:(123456)
登录成功!

16. .isalpha

.isalpha() 方法判断字符串中是否为纯字母.
# 20. .isalpha 方法.py
str1 = 'asd123'
str2 = 'asd'

print(str1.isalpha())
print(str2.isalpha())

运行工具窗口提示:
False
True

17. .isalnum

.isalnum() 方法判断字符串中是否只有字母和数字.
# 21. .isalnum.py
str1 = 'asd123'
str2 = 'asd1.23'
print(str1.isalnum())
print(str2.isalnum())

运行工具窗口提示:
True
False
设计一个程序, 统计下列字符串中的符号, 除数字和字母都是符号, 空格也是符号.
# 22. 统计字符串中的符号.py
str1 = 'a1sd564ew9r/7wa/*7sd49c8aw4ea1r98""":::~!@#17*/ 29e7w+91w49d  '

# 计数器
count = 0

# 遍历字符串
for i in str1:
    if not i.isalnum():
        count += 1

print(count)

运行工具窗口提示:
19

18. .title 与 .capitalize

.title() 方法将字符串中所有单词的首字母转为大写.
.capitalize() 方法将字符串中第一个单词首字母转为大写.
# 23. .title 与 .capitalize.py
str1 = 'my name is kid my age is 18.'
print(str1.title())

print(str1.capitalize())

运行工具窗口提示:
My Name Is Kid My Age Is 18.
My name is kid my age is 18.

19 .swapcase

.swapcase() 方法将字符串中的大写字母转为小写, 将小写字母转为大写.
# 24. swapcase.py
str2 = 'AbCd'

print(str2.swapcase())
运行工具窗口提示:
aBcD

20. .find 与 .index

.find()   方法从左往右查找指定字符对应的索引, 找到就返回索引的值, 如果查找的字符不存在则返回-1.
.rfind()  方法从右往左查找指定字符对应的索引, 找到就返回索引的值, 如果查找的字符不存在则返回-1.
.index()  方法从左往右查找指定字符对应的索引, 找到就返回索引的值, 找不到就报错.
.rindex() 方法从右往左查找指定字符对应的索引, 找到就返回索引的值, 找不到就报错.
* 提供的参数使一个字符串, 只对首个字符进行查询.
# 25 .find 与 .index.py
str1 = 'My name is kid my age is 18.'
print(str1.find('m'))
print(str1.rfind('m'))


print(str1.index('m'))
print(str1.rindex('m'))

# print(str1.index('2'))  # 报错 substring not found 未找到子字符串

运行工具窗口提示:
5
-1
5
15

21. .count

.count() 方法统计某个字符组合在字符串中出现的次数.
str1 = 'My name is kid my age is 18.'
print(str1.count('m'))
print(str1.count('my'))

运行工具窗口提示:
2
1

22. .center & .ljust & .rjust

.center(字符宽度, '字符') 方法指定字符与字符宽度, 让字符串居中.
.ljust( 字符宽度, '字符') 方法指定字符与字符宽度, 让字符串左对齐.
.rjust( 字符宽度, '字符') 方法指定字符与字符宽度, 让字符串右对齐.
# 27. .center & .ljust & .rjust.py
message = '输出'
print(message.center(16, '-'))

print(message.ljust(16, '-'))

print(message.rjust(16, '-'))

运行工具窗口提示:
-------输出-------
输出--------------
--------------输出

23. 练习

name = " kiD"
1.   移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip()) 

2.   判断 name 变量对应的值是否以 "ki" 开头,并输出结果
print(name.startswith('ki'))

3.   判断 name 变量对应的值是否以 "d" 结尾,并输出结果
print(name.endswith('d'))

4.    name 变量对应的值中的 “i” 替换为 “p”,并输出结果
print(name.replace('i', 'p'))

5.    name 变量对应的值根据 “i” 分割,并输出结果.
print(name.split('i'))

6.    name 变量对应的值变大写,并输出结果
print(name.upper())

7.    name 变量对应的值变小写,并输出结果
print(name.lower())

8.   请输出 name 变量对应的值的第 2 个字符?
print(name[1])

9.   请输出 name 变量对应的值的前 3 个字符?
print(name[:3])

10.  请输出 name 变量对应的值的后 2 个字符?
print(name[2:])

11.  请输出 name 变量对应的值中 “d” 所在索引位置?
print(name.index('i'))

12.  获取子序列,去掉最后一个字符.: kid 则获取 ki.
print(name[0:len(name)-1])

文章的段落全是代码块包裹的, 留言0是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言1是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言2是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言3是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言4是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言5是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言6是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言7是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言8是为了避免文章提示质量低.
文章的段落全是代码块包裹的, 留言9是为了避免文章提示质量低.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/3418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

15 个机器学习的基本 Python 库

一定有很多次你试图在 Python 中找到一个库来帮助你完成机器学习项目。但是&#xff0c;经常遇到一件事&#xff01;今天有如此多的 Python 库可用&#xff0c;并且许多库在每几年之后都会大量发布&#xff0c;因此选择合适的库并不容易。 有时会花费数小时寻找合适的库&#…

【数据结构基础】之图的介绍,生动形象,通俗易懂,算法入门必看

前言 本文为数据结构基础【图】 相关知识&#xff0c;下边将对图的基本概念&#xff0c;图的存储结构&#xff0c;图的遍历包含广度优先遍历和深度优先遍历&#xff0c;循环遍历数组&#xff0c;最小生成树&#xff0c;拓扑排序等进行详尽介绍~ &#x1f4cc;博主主页&#xf…

spring启动流程(二):包的扫描流程

在applicationContext的创建中&#xff0c;我们分析了applicationContext的创建过程&#xff0c;在本文中&#xff0c;我们将分析spring是如何进行包扫描的。 依旧是AnnotationConfigApplicationContext的构造方法&#xff1a; public AnnotationConfigApplicationContext(St…

自底向上语法分析(bottom-up parsing)

自底向上语法分析&#xff08;bottom-up parsing&#xff09;自底向上分析概述LR分析概述LR(0)分析增广文法点标记项目LR(0)分析表CLOSURE函数GOTO函数LR(0)自动机的状态集LR(0)分析表构造算法LR(0)自动机的形式化定义LR(0)分析的冲突问题SLR分析SLR算法的关键SLR分析的冲突问题…

U3D热更新技术

作者 : SYFStrive 博客首页 : HomePage &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f937;‍♀️&#xff1a;创作不易转发需经作者同意&#x1f608; &#x1f483;&#xff1a;程…

适用于 Windows 的企业级 Subversion 服务器

适用于 Windows 的企业级 Subversion 服务器。 Subversion 的 Windows 身份验证 Windows 身份验证是 VisualSVN 服务器的一个关键特性。此功能专为 Active Directory 域环境设计&#xff0c;允许用户使用其 Windows 凭据访问 VisualSVN 服务器。 VisualSVN Server 支持两种不同…

【Linux】基础IO ——中

&#x1f387;Linux&#xff1a;基础IO 博客主页&#xff1a;一起去看日落吗分享博主的在Linux中学习到的知识和遇到的问题博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 看似不起波澜的日复一日&#xff0c;一定会在某一天让你看…

这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇将记录几次面试中经常被问到的知识点以及对学习的知识点总结和面试题的复盘。 本篇文章记录的基础知识&#xff0c;适合在学Java的小白&#xff0c;也适合复习中&…

趣说 Mysql内存篇 Buffer Pool

讲解顺序 先说 Mysql InnoDB 内存结构 Buffer PoolPage 管理机制Change BufferLog Buffer Buffer Pool 接上回 说到了 LRU 算法对内存的数据 进行淘汰 LRU 算法本身是 最近最少使用的&#xff0c;但是这样就会出现 分不清楚 哪些是真正多次使用的数据 LRU缺点&#xff1a…

软考重点10 知识产权

软考重点10 知识产权一、著作权1. 著作权的理解&#xff08;1&#xff09;版权&#xff1a;&#xff08;2&#xff09;人身权与财产权2. 知识产权的归属判定3. 知识产权的归属判定&#xff08;1&#xff09;委托创作&#xff08;2&#xff09;合作开发4. 著作权保护对象及范围5…

为什么要有包装类,顺便说一说基本数据类型、包装类、String类该如何转换?

一、前言 开门见山&#xff0c;首先看看八种基本数据类型对应的包装类&#xff1a; 基本数据类型包装类charCharacterbyteByteshortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBoolean 其中Character 、Boolean的父类是Object&#xff0c;其余的父类是Number 二、装…

【软件测试】毕业打工两年,辞职一年后转行月薪18K,软件测试让我发起了第一春......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 小徐&#xff1a; 毕…

C++ 类和对象 日期类的实现

作者&#xff1a;小萌新 专栏&#xff1a;初阶C 作者简介&#xff1a;大二学生 希望能和大家一起进步 本篇博客目标&#xff1a; 完成Date类的实现 梳理剩下两个默认函数 好困 跑个步去 睡醒啦&#xff01; 继续肝 日期类的实现本章目标一. 日期类的实现1.1 Getmonthday的实现…

CNN的实现与可视化

CNN的实现 我们已经实现了卷积层和池化层&#xff0c;现在来组合这些层&#xff0c;搭建进行手写数字识别的CNN。如下图所示&#xff0c;网络的构成是“Convolution - ReLU - Pooling -Affine - ReLU - Affine - Softmax”&#xff0c;我们将它实现为名为SimpleConvNet的类。 …

R语言—向量

向量&#xff08;vector&#xff09; R 语言最基本的数据结构是向量。类似于数学上的集合的概念&#xff0c;由一个或多个元素构成。向量其实是用于存储数值型、字符型、或逻辑型数据的一维数组。 创建向量 c()函数 > a <- 1 #给a赋值1 > a #显示a的值 [1] 1 …

【C++初阶】类和对象终极篇

文章目录一.加const修饰this指针二.cout<<自定义类型的对象的实现1.深入理解cout和<<2流插入和流提取3.友元函数的来源a.作为ostream成员函数b.作为全局函数c.作为Date类的成员函数d.作为Date类的友元函数三.再谈构造函数之初始化列表四.隐式类型转换&explicit…

Linux命令从入门到实战----文件目录类

文章目录pwd显示当前工作路径的绝对路径ls列出目录的内容cd切换目录mkdir 创建一个新的目录删除一个空的目录touch创建新文件cp复制文件或目rm删除文件或目录mv移动文件与目录&#xff0c;重命名文件cat查看文件内容&#xff0c;创建新文件more文件内容分屏查看less分屏显示文件…

【C语言】字符串、字符数组

目录 写在开头 正文 一、字符串的本质 二、输入函数scanf和gets 三、输出函数printf和puts 四、字符串的长度——strlen 五、字符串的复制——strcpy 六、字符串的比较函数 七、实战练习 八、二维字符数组——字符串数组 写在最后 写在开头 看了标题&#xff0c;是…

Kotlin编程实战——类与对象(05)

一 概述 类与继承属性和字段接口(interface )函数式&#xff08;SAM&#xff09;接口可见性修饰符扩展数据类(data class)密封类泛型嵌套类与内部类枚举类对象表达式与对象声明类型别名内联类(inline class)委托委托属性 二 类与继承 类继承(open override )抽象类(abstract)…

MySQL去重中 distinct 和 group by 的区别

今天在写业务需要对数据库重复字段进行去重时&#xff0c;因为是去重&#xff0c;首先想到的是distinct关键字。于是一小时过去了。。。。&#xff08;菜鸟一个&#xff0c;大家轻点骂&#xff09; 我把问题的过程用sql语句演示给大家演示一下 首先我使用的是mybatis-plus&am…