Skip to content

Commit 1c3d43b

Browse files
committed
Perfect string case
1 parent af86c7e commit 1c3d43b

File tree

5 files changed

+237
-79
lines changed

5 files changed

+237
-79
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python
2+
#-*- coding:utf-8 -*-
3+
# Author: liuchuan
4+
# Contact: liuchuan910927@gmail.com
5+
# File: lc_01_strings_syntax.py
6+
# Datetime: 2018/11/12 23:09
7+
# Software: PyCharm
8+
9+
10+
"""
11+
字符串(String)
12+
13+
字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。
14+
创建字符串很简单,只要为变量分配一个值即可。例如:
15+
"""
16+
17+
str1 = "Hello World"
18+
str2 = 'Hello Python'
19+
print(str1)
20+
print(str2)
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/usr/bin/env python
2+
#-*- coding:utf-8 -*-
3+
# Author: liuchuan
4+
# Contact: liuchuan910927@gmail.com
5+
# File: lc_02_string_method.py
6+
# Datetime: 2018/11/12 23:15
7+
# Software: PyCharm
8+
9+
10+
'''
11+
---------------- 字符串内建函数 ------------------
12+
13+
capitalize(): 将字符串的第一个字符转换为大写.
14+
isalnum(): 方法检测字符串是否由字母和数字组成。如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
15+
islower(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False.
16+
isnumeric(): 如果字符串中只包含数字字符,则返回 True,否则返回 False
17+
isspace(): 如果字符串中只包含空白,则返回 True,否则返回 False.
18+
lower(): 转换字符串中所有大写字符为小写.
19+
max(str): 返回字符串 str 中最大的字母。
20+
min(str): 返回字符串 str 中最小的字母。
21+
upper(): 转换字符串中的小写字母为大写
22+
str.strip(): 返回从开头和结尾删除空格的字符串
23+
24+
str.startswith('eyehunt'): 测试字符串是否以给定字符串开头
25+
str.endswith('eyehunt'): 测试字符串是否以给定字符串结尾
26+
str.replace('old', 'new'): 返回一个字符串,其中所有出现的“旧”已被“新”替换
27+
str.find('Hello'): 搜索给定的字符串(不是正则表达式)并返回它开始的第一个索引;-1 如果找不到,则返回
28+
str.split('delim'): 返回由给定分隔符分隔的子字符串列表。
29+
str.len(): 返回字符串的长度。
30+
31+
32+
center(width, fillchar): 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
33+
count(str, beg= 0,end=len(string)): 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
34+
35+
bytes.decode(encoding="utf-8", errors="strict"): Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,
36+
这个 bytes 对象可以由 str.encode() 来编码返回。
37+
38+
encode(encoding='UTF-8',errors='strict'): 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,
39+
除非 errors 指定的是'ignore'或者'replace'
40+
41+
endswith(suffix, beg=0, end=len(string)): 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,
42+
如果是,返回 True,否则返回 False.
43+
44+
45+
'''
46+
47+
str = "the swift programming language!"
48+
str1 = "python"
49+
str2 = "HELLO World"
50+
str3 = "wwdc2019" # 字符串没有空格
51+
print("将字符串的第一个字母变成大写,其他字母变小写: ", str.capitalize())
52+
print("最小字符: ", min(str1))
53+
print("最大字符: ", max(str1))
54+
print("转换字符串中所有小写字符为大写: ", str2.upper())
55+
print("转换字符串中所有大写字符为小写: ", str2.lower())
56+
57+
print("检测字符串是否由字母和数字组成:", str3.isalnum())
58+
print(str2.replace('HELLO', 'Bye'))
59+
print(str2.strip())
60+
61+
print("!是否为字符串开头:", str.startswith('!'))
62+
print("!是否为字符串结尾:", str.endswith('!'))
63+
print(str.find("s"))
64+
print(str.find("B"))
65+
66+
# str.split('delim'): 返回由给定分隔符分隔的子字符串列表。
67+
str8 = "Hello World, I am Eyehunt"
68+
strSplit = str8.split(",")
69+
print(str8.split(","))
70+
print(strSplit[0])
71+
print("str8:", str8)
72+
print("str8 字符串的长度为: ", len(str8))
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env python
2+
#-*- coding:utf-8 -*-
3+
# Author: liuchuan
4+
# Contact: liuchuan910927@gmail.com
5+
# File: lc_03_string_formatting.py
6+
# Datetime: 2018/11/12 23:46
7+
# Software: PyCharm
8+
9+
10+
11+
'''
12+
python字符串格式化符号:
13+
符 号 描述
14+
%c 格式化字符及其ASCII码
15+
%s 格式化字符串
16+
%d 格式化整数
17+
%u 格式化无符号整型
18+
%o 格式化无符号八进制数
19+
%x 格式化无符号十六进制数
20+
%X 格式化无符号十六进制数(大写)
21+
%f 格式化浮点数字,可指定小数点后的精度
22+
%e 用科学计数法格式化浮点数
23+
%E 作用同%e,用科学计数法格式化浮点数
24+
%g %f和%e的简写
25+
%G %f 和 %E 的简写
26+
%p 用十六进制数格式化变量的地址
27+
28+
'''
29+
30+
31+
# 旧式字符串格式化
32+
# % 操作符也可以实现字符串格式化。 它将左边的参数作为类似 sprintf() 式的格式化字符串, 而将右边的代入, 然后返回格式化后的字符串. 例如:
33+
print ("我叫: %s, 今年 %d 岁!" % ('小明', 10))
34+
35+
# 因为 str.format() 比较新的函数, 大多数的 Python 代码仍然使用 % 操作符。
36+
37+
# 但是因为这种旧式的格式化最终会从该语言中移除, 应该更多的使用 str.format().
38+
39+
40+
41+
# -------------------------- 输出格式美化 -----------------------
42+
# str.format() 的基本使用
43+
44+
# 括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。
45+
print('{}网址: "{}!"'.format('Apple官网', 'www.apple.com'))
46+
47+
48+
# 在括号中的数字, 用于指向传入对象在 format() 中的位置,如下所示:
49+
print('{0} 和 {1}'.format('Google', 'Apple')) # Google 和 Apple
50+
print('{1} 和 {0}'.format('Google', 'Apple')) # Apple 和 Google
51+
52+
# 如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数。
53+
print('{name}网址:{site}'.format(name = '苹果官网', site = 'www.apple.com')) # 苹果官网网址:www.apple.com
54+
55+
import math
56+
print('常量 PI 的值近似为: {}。'.format(math.pi))
57+
58+
# 可选项 ':' 和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化。 下面的例子将 Pi 保留到小数点后三位:
59+
print('常量 PI 的值近似为: {0:.3f}。'.format(math.pi))
60+
# 常量 PI 的值近似为 3.142。
61+
62+
63+
# ------- f-String格式化 -----------
64+
'''
65+
相比较占位符的方式,python3.6版本新增了 f-String 格式化的方式,
66+
比较简单易懂,这是目前我用的最多的方式,推荐使用这种方式。
67+
'''
68+
69+
name = 'jack'
70+
age = 20
71+
print(f'Hello, {name}. You are {age}.')
72+
73+
# 大写的F也适用
74+
girls = 'rose'
75+
print(F'Hello, {girls}.')
76+
77+
salary = 6.6666
78+
print(f'{salary:.2f}')
79+
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#!/usr/bin/env python
2+
#-*- coding:utf-8 -*-
3+
# Author: liuchuan
4+
# Contact: liuchuan910927@gmail.com
5+
# File: lc_04_string_splitting.py
6+
# Datetime: 2018/11/13 00:01
7+
# Software: PyCharm
8+
9+
10+
# --------- 字符串切片 -----------
11+
12+
'''
13+
句法
14+
这是简单的Python Substring语法。
15+
16+
string[start:end]:获取从索引开头 到 结尾-1的所有字符
17+
18+
string[:end]:获取从字符串开头到结尾1的所有字符
19+
20+
string[start:]:获取从索引 开头 到字符串结尾的所有字符
21+
22+
'''
23+
24+
25+
"""
26+
list[P1:P2:P3]
27+
     两个冒号分隔开三个参数,P1(切片开始的位置),P2(切片结束的位置+1),P3(步长默认为 1,可以省略不写,步长也可以为负)
28+
正序:从前到后下标为 0 1 2 3 ...
29+
倒序:从后到前下标为 -1 -2 -3 -4 ...
30+
"""
31+
32+
33+
34+
str = "Hello, World!"
35+
print(str)
36+
print(str[0]) # 输出字符串第一个字符
37+
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
38+
print(str[2:5]) # 输出从第三个开始到第五个的字符
39+
print(str[2:]) # 输出从第三个开始的后的所有字符
40+
print(str * 2) # 输出字符串两次
41+
print(str + '你好') # 连接字符串
42+
print(str[2:5:2])
43+
44+
45+
46+
# 负索引: 子字符串
47+
'''
48+
在python中,还支持负索引。如果您通过-1索引,则最后一个字符将得到。如果为负– 2,-3,...。那么倒数第二,倒数第三...等等。
49+
'''
50+
51+
print(str[-2:5:-2])
52+
53+
54+
print("获取字符串的最后一个字符:", str[-1]) # 在索引中传递-1,这是一个负索引
55+
# 最后一个字符
56+
l = len(str)
57+
print("最后一个字符:", str[l - 1])
58+
59+
print("str[0:3]", str[0:3]) # 获取字符串的前3个字符, 0可以省略
60+
print("str[:3]", str[:3])
61+
print("str[1:3]", str[1:3])
62+
print("str[-1]", str[-1])
63+
print("str[-2:]", str[-2:])
64+
print("str[-2:-1]", str[-2:-1])
65+
66+
print(str[::3])

Python3_Tutorial/04_Tuple.py

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)