# -*- coding: utf-8 -*-
s1 = "Hello,"'calendar'
print(s1)
s2 = "Python"
s3 = "iS ..."
# 使用 + 拼接字符串
s4 = s2 + s3
print(s4)
# 拼接数字时,不能直接拼接数字和字符串,程序必须先将数字转换成字符串
s5 = "数字"
p = 66.6
# 字符串直接拼接数值,程序报错
# print(s1 + p)
# 使用str()、repr()将数值转换成字符串
print(s5 + str(p))
print(s5 + repr(p))
# str() 函数和repr()函数都可以将数字转换成字符串
# repr() 以函数表达式形式来表示值 输出结果:'I wil play my life'
st = "I wil pay for my computer"
print(st)
print(repr(st))
# split() 字符串分割
list1 = st.split(" ")
# 不指定分隔符,默认以" "进行分割
list2 = st.split()
print(list1)
print(list2)
# join() 合并字符串
list3 = ['d', 'd', 'guduo', 'data', 'com']
sr = ".".join(list3)
print(sr)
# count() 统计字符串出现的次数
s6 = sr.count('.', 0, 5)
print(s6)
# find() 检索字符串中是否包含某子串,存在则返回子串首字母所在的位置,不存在返回 -1
# rfind() 作用相同,但是rfind() 是从字符串右边开始检索
str1 = "d.guduo.data,com"
s7 = str1.find("data")
# 指定起始索引和结束索引的位置
s8 = str1.find("data", 0, 6)
print(s7)
print(s8)
# index() 方法也可以用于检索字符串是否包含指定的子串,子串不存在时会抛出异常
# rindex() 方法从右边开始检索
s9 = str1.index(".")
print(s9)
# ljust() 方法 向指定字符串的 右 侧填充指定字符,从而达到 左对齐 文本的目的
# rjust() 方法 向指定字符串的 左 侧填充指定字符,从而达到 右对齐 文本的目的
# 数字表示:字符串的总长度,包含字符串本身长度 * : 填充的字符串
s0 = "http://lxj:8080"
print(s0.ljust(30, '*'))
# center()与ljust() rjust()方法类似 让文本居中显示
a = 'http://d.guduo.data.com/task'
add = 'http://lol.srv.com'
print(a.center(35, '-'))
print(add.center(35, '-'))
# startswith() 用于检索字符串是否以指定字符串开头,是返回true,反之返回false
# startswith() 用于检索字符串是否以指定字符串结尾,是返回true,反之返回false
print(a.startswith('http'))
print(a.startswith('http', 2))
# title() 方法用于将字符串中每个单词的首字母转为大写,其他字母为小写
print(a.title())
# lower() 将字符串中的所有大写字母转换为小写字母
# upper() 将字符串中的所有小写字母转换为大写字母
a1 = 'NETWORK_DRMA'
print(a1.lower())
print(add.upper())
# strip() 返回移除字符串头尾指定的字符生成的新字符串
# lstrip() 用于删除字符串左边的空格或指定字符
# rstrip() 用于删除字符串右侧的空格和特殊字符
a2 = ' http://d.guduo.data.com *'
a3 = ' http://d.guduo.data.com \t\n\r'
print(a2.strip(" ,*"))
# 不指定字符时,默认删除空格,制表符\t 回车符\n 换行符\r等特殊字符
print(a3.strip())
运行结果:
# -*- coding: utf-8 -*-
print("输入10 以内的所有奇数")
for i in range(1, 10, 2):
print(i, end=' ')
# 循环遍历列表和元组
a_tuple = ('cra', 'city', 'aaa')
for i in a_tuple:
print('当前元素是: ', i)
src_list = [12, 1, 3.3, 42, 67, 'crazity', 109.5]
sum = 0
count = 0
for ele in src_list:
if isinstance(ele, int) or isinstance(ele, float):
print(ele)
sum += ele
count += 1
print("元素总和: ", sum)
print("元素总个数:", count)
a_list = [330, 1.4, 50, 'adsg', -3.5]
for c in range(0, len(a_list)):
print("第 %d 个元素是 %s" % (c, a_list[c]))
# 循环遍历字典
dict1 = {'语文': 80, '数学': 77, '英语': 94}
# items() 返回字典中所有key_value对,所以需要声明两个变量
for key, value in dict1.items():
print("key: ", key)
print("value: ", value)
print("----------")
# keys() 返回所有的key
for key in dict1.keys():
print("key: ", key)
print("key-->valus: ", dict1[key])
print("----------")
# values() 返回所有的value
for value in dict1.values():
print("value: ", value)
# 对于带 else 块的 for 循环,如果使用 break 强行中止循环,程序将不会执行 else 块
for i in range(1, 10):
print("i的值是: ", i)
if i == 2:
break
else:
print("else块:", i)
运行结果:
# -*- coding: utf-8 -*-
# 列表推导式
a_range = range(10)
a_list = [x * x for x in a_range]
print(a_list)
b_list = [x * x for x in a_range if x % 2 == 0]
print(b_list)
# 元组推导式
# for __next__ 遍历生成器对象,遍历后原生成器对象不复存在
a = (x for x in range(1, 10))
print(a)
print(tuple(a))
# for 遍历
b = (x for x in range(1, 10))
for i in b:
print(i, end=' ')
print(tuple(b)) # 遍历后再用tuple()转换原生成器得到空元组
# __next__()方法遍历
c = (x for x in range(4))
print(c.__next__())
print(c.__next__())
print(c.__next__())
print(c.__next__())
print(tuple(c))
# 字典推导式
demo = ['骨朵', 'd.guduo.data,com']
dict1 = {key: len(key) for key in demo}
print(dict1)
odict = {'骨朵': 3, 'd.srv.data.com': 16}
dict2 = {v: k for k, v in odict.items() if v > 10}
print(dict2)
# 集合推导式和字典推导式格式相同,区别在于,字典推导式表达式以键值对形式出现,
运行结果:
# -*- coding: utf-8 -*-
# zip函数可以把两个列表”压缩“在一起
# 两个列表长度不一致的时候,以长度短的为准
a = ['a', 'b', 'c']
b = [1, 2, 3]
c = [x for x in zip(a, b)]
print(c)
# zip函数可压缩多个列表
d = [0.1, 0.2]
c1 = [x for x in zip(a, b, d)]
print(c1)
books = ['卡拉1', '卡拉2', '卡拉3']
prices = [79, 69, 89]
# 使用zip函数压缩列表,并遍历
# %5.2f 2f表示两位小数 5表示总长度为5,小数点也算,不足的用空格补齐
for book, price in zip(books, prices):
print("%s 的价格是: %5.2f" % (book, price))
# reversed()函数 反向遍历 列表 元组皆可用此函数进行反转
print([x for x in reversed(range(10))])
# sorted() 函数 排序
e = [20, 30, -1.2, 3.5, 90, 3.6]
print(e)
# 默认从小到大排序
print(sorted(e))
# reverse = True 从大到小排序
print(sorted(e, reverse= True))
运行结果:
capwords() 函数的作用就是将给定的 s 字符串中每个单词的首字母变成大写的。该函数可通过 sep 参数指定分隔符:如果不指定 sep 参数,该字符串默认以空白作为分隔符。
模块的 __file__ 属性即可查看到指定模块的源文件路径。