str1 = 'Hello World!'
str2 = "Hello World!"
2.访问字符串
str = "菜J学Python"
print(str)
print(str[0])
print(str[0:3])
print(str[1:7:2]) #[起始位置:结束位置:步进值]
print(str[:5])
print(str[5:])
3.连接字符串
print(str + ",你好") #字符串连接,使用+
print(str * 5) #连续打印5次
4.字符串转义符
当需要在字符中使用特殊字符时,Python用反斜杠 \ 转义字符。
常用转义字符 | 描述 |
\(在行尾时) | 续行符 |
\' | 单引号 |
\" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
5.字符串运算符
常用运算符 | 描述 |
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[ : ] | 截取字符串中的一部分 |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True |
5.格式化字符串
常用符号 | 描述 |
%s | 格式化字符串 |
%d | 格式化整数 |
%c | 格式化字符及其ASCII码 |
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
6.字符串内建函数
常用方法 | 描述 |
string.count(str, beg=0, end=len(string)) | 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 |
string.endswith(obj, beg=0, end=len(string)) | 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False. |
string.decode(encoding='UTF-8', errors='strict') | 以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace' |
string.encode(encoding='UTF-8', errors='strict') | 以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace' |
string.find(str, beg=0, end=len(string)) | 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
string.format() | 格式化字符串 |
string.index(str, beg=0, end=len(string)) | 跟find()方法一样,只不过如果str不在 string中会报一个异常. |
string.join(seq) | 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
string.replace(str1, str2, num=string.count(str1)) | 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次. |
string.split(str="", num=string.count(str)) | 以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串 |
string.strip([obj]) | 删除字符串前后空格 |
列表 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。 1.列表:创建
list = [] #定义空列表
list1 = ["小张","小王","小李"]
list2 = [1,"菜J学Python"] #列表中可以存储混合类型
2.列表:访问
list1 = ["小张","小王","小李"] #for循环遍历获取列表数据for list in list1:
print(list)'''
list1 = ["小张","小王","小李"] #while循环遍历获取列表数据
length = len(list1)
i = 0
while i print(list1[i])
i += 1
'''
3.列表:增
#列表:增append,extend,insert'''
list1 = ["小张","小王","小李"]
print("---增加前列表数据----")
for list in list1:
print(list)
addname = input("请输入添加的学生姓名:")
list1.append(addname) #append为在末尾追加一个元素
print("---增加后列表数据----")
for list in list1:
print(list)
''''''
a = [1,2]
b = [3,4]
a.append(b) #将列表当做一个元素加入到列表中
print(a)
a.extend(b) #将列表中的每个元素逐一追加到列表中
print(a)
''''''
a = [0,1,2]
a.insert(1,3) #指定下标位置1插入元素3
print(a)
'''
4.列表:删
#列表:删del,pop,remove'''
list1 = ["小张","小王","小李"]
print("---删除前列表数据----")
for list in list1:
print(list)
#del list1[2] #del为在指定位置删除一个元素
#list1.pop() #pop为弹出末尾最后一个元素
#list1.remove("小张") #remove直接删除指定内容的元素(如有重复只删除第一个)
print("---删除后列表数据----")
for list in list1:
print(list)
'''
5.列表:改
#列表:改'''
list1 = ["小张","小王","小李"]
print("---删除前列表数据----")
for list in list1:
print(list)
list1[2] = "小潘" #指定下标修改
print("---删除后列表数据----")
for list in list1:
print(list)
'''
6.列表:查
#列表:查in\not in'''
list1 = ["小张","小王","小李"]
findname = input("请输入你要查找的姓名")
if findname in list1:
print("在名单中找到了你查找的姓名")
else:
print("没有找到")
''''''
list = ["a","b","c","a","b"]
print(list.index("a",1,4)) #可以查找指定下标范围的元素,并返回找到对应数据的下标
print(list.index("a",1,3)) #因为范围区间左闭右开【1,3),找不到会报错
''''''
list = ["a","b","c","a","b"]
print(list.count("a")) #统计元素出现的次数
'''
6.列表:其他
#列表:排序与反转sort\reverse'''
a = [1,4,2,3]
print(a)
a.reverse() #将列表所有元素反转
print(a)
a.sort() #升序
print(a)
a.sort(reverse=True) #降序
print(a)
'''#列表:嵌套 list=[[],[],[]]'''
schoolname = [["北京大学","清华大学"],["南开大学","天津大学","天津财经大学"],["山东大学","中国海洋大学"]]
print(schoolname[0])
print(schoolname[0][0])
'''#列表:使用枚举函数enumerate,同时拿到列表中的下标和元素内容'''
mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
print(i+1,x)
'''#列表:将8人中的任意三个人随机分配到3个办公室'''
import random
offices = [[],[],[]]
names = ["A","B","C","D","E","F","G","H"]
for name in names:
index = random.randint(0,2) #注意这是左闭右闭
offices[index].append(name)
i = 1
for office in offices:
print("办公室%d的人数为:%d"%(i,len(office)))
i +=1
for name in office:
print("%s"%name,end="\t")
print("\n")
print("-"*28)
'''
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号。
1.元组:创建
#元组:创建
tup1 = () #创建空元组
tup2 = (50)
tup3 = (50,)
tup4 = (50,60,70)
2.元组:访问
#元组:访问
tup1 = ("abc","def",2000,3000,333,444,555)
print(tup1[0])
print(tup1[-1]) #访问最后一个元素
print(tup1[1:5]) #左闭右开,进行切片
3.元组:增
#元组:增(连接)
tup1 = (12,34,56)
tup2 = ("abc","xyz")
tup = tup1 + tup2
print(tup)
4.元组:删
#元组:删
tup1 = (12,34,56)
print(tup1)del tup1 #删除了整个元组变量
print("删除后:")
print(tup1)
5.元组:改(不允许)
字典 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。 1.字典:创建info = {"name":"菜J学Python","age":18}
2.字典:访问
print(info["name"])
print(info["age"])
print(info["gender"]) #直接访问不存在的键,会报错
print(info.get("gender")) #使用get方法,没有找到对应的键,默认返回:None
print(info.get("gender","m")) #使用get方法,没有找到对应的键,返回:m
3.
字典:增
#字典:增
info = {"name":"吴彦祖","age":18}
newID = input("请输入新的学号:")
info["id"] = newID
print(info["id"])
print(info)
4.字典:删
#字典:删del\clear清空)'''
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info["name"])
del info["name"] #删除了键值对
print("删除后:%s"%info["name"]) #删除了指定键值对后,再次访问会报错
''''''
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info)
del info #删除了字典
print("删除后:%s"%info) #删除了指定键值对后,再次访问会报错
''''''
info = {"name":"吴彦祖","age":18}
print("删除前:%s"%info)
info.clear()
print("删除后:%s"%info)
'''
5.字典:改
#字典:改
info = {"name":"吴彦祖","age":18}
info["age"] = 20
print(info["age"])
6.字典:查
#字典:查
info = {"id":1,"name":"吴彦祖","age":18}
print(info.keys()) #得到所有的键(列表)
print(info.values()) #得到所有的值(列表)
print(info.items()) #得到所有的项(列表),每个键值对是一个元组
7.字典:其他
#字典:遍历键'''
info = {"id":1,"name":"吴彦祖","age":18}
for key in info.keys():
print(key)
'''#字典:遍历值'''
info = {"id":1,"name":"吴彦祖","age":18}
for value in info.values():
print(value)
'''#字典:遍历所有的键值对'''
info = {"id":1,"name":"吴彦祖","age":18}
for key,value in info.items():
print("key=%s,value=%s"%(key,value))
'''
集合
#集合
x = set([1,2,3]) #set类似dict,但仅是key的集合,不存储value
print(x)
y = set([1,1,2,2,3,3]) #set中重复元素会被过滤
print(y)
结语
欢迎关注菜J学Python,敬请期待下篇。
往期回顾
- 实战|Python轻松实现动态网页爬虫(附详细源码)
- 实战|Python轻松实现地图可视化(附详细源码)
- 实战|Python轻松实现PDF格式转换(附详细源码)
- 实战|Python轻松实现批量图片文字识别(附详细源码)
- 实战|手把手教你用Python爬虫(附详细源码)
- 实战|Python轻松实现绘制词云图(附详细源码)
实战|Python爬虫并用Flask框架搭建可视化网站
实战|Python六行代码实现多个Excel合并
基础/Python常用知识点汇总(上)