#python_print
def main():
# 直接输出字符串,直接打印双“”里面内容
print("Python:")
# 输出变量:str0/str1/str2
str0 = 'Hello '
str1 = 'World '
str2 = '!!! \n'
print(str0, str1, str2)
# 输出多个内容,变量与直接打印相结合
name = 'Jon'
str0 = '年龄'
str1 = '32'
print("我的名字是:", name, str0, ":", str1)
# 格式化输出
#1. 普通方法,类似C语言
str = 'Hello World!'
print("%s"%str)
age = 30.13
print("My age is %d"%age) #整数
print("My age is %f"%age) #浮点数
print("My age is %.3f"%age) #浮点数,指定小数点后多少位
#print("My name is %s, age is %d"%name%age) #错误语法,需要使用以下方式打印
#2. f-string方法:方便简洁,推荐使用
# {}中是变量,其他使用直接的字符串
name = 'Jon'
str0 = '年龄'
str1 = '32'
print(f"名字是: {name} {str0}是:{str1}")
#3. format()方法
name = '丽丽'
str0 = '女'
str1 = '32'
print("名字是:{},性别是{}, 年龄是{}, 爱好是:{}\n".format(name, str0, str1, "羽毛球"))
#######################################################
### 字符串 & 字符串函数 ###
#######################################################
var1 = "hello world"
var2 = "python3"
print("var1[0] = ", var1[0]) #var1[0] h
print("var2[3:6] = ", var2[3:6]) #var2[3:6] hon
print(var1 + var2)
# Python replace() 方法: 字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
print(var1.replace("world", var2, 1)) # hello python3
# Python find() 方法: 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,
#则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
print(var1.find("llo", 0, len(var1))) # 2
# join()方法: 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。
# join是重要的字符串方法,用来在队列中添加元素。s注意:需要添加的元素必须都是字符串。
str = "-"
b = ["a","b","c"]
print(str.join(b)) #a-b-c
# split()方法 和join方法相反,split方法把字符串分成序列。
str = "ithis is string examplei"
print(str.split()) #['ithis', 'is', 'string', 'examplei']
print(str.split("s",1)) #['ithi', ' is string examplei']
print(str.split("i")) #['', 'th', 's ', 's str', 'ng example', '']
# 其他方法
# len() 方法返回对象(字符、列表、元组等)长度或项目个数。
# lower()方法 Python lower() 方法转换字符串中所有大写字符为小写
# upper()方法 Python lower() 方法转换字符串中所有小写字符为大写
# isnumeric()方法 如果 string 中只包含数字字符,则返回 True,否则返回 False
# isspace()方法 如果 string 中只包含空格,则返回 True,否则返回 False
#######################################################
### 列表(List) ###
#######################################################
list1 = ["yqq", "boy", 27]
list1[1] = "girl"
print(list1) #['yqq', 'girl', 27]
print(list1[1:3])
# 可以在分片时候,指定步长,步长可以为正数,也可以是负数。步长为负数,从右向左提取元素
list = [1,2,3,4,5,6,7,8,9,10]
print(list[::2]) #[1, 3, 5, 7, 9]
print(list[::-1]) #[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
# 从索引8到索引3,步长为 -1.
print(list[8:3:-1]) #[9,8,7,6,5]
print(list[0:10:-2]) #[]
print(list[5::-2]) #[6, 4, 2]
print(list[:5:-2]) #[10,8]
# del 语句来删除元素
list1 = ['physics', 'chemistry', 1997, 2000];
del list1[2]
print(list1) # ['physics', 'chemistry', 2000]
## python列表的函数:
# len(list) 列表元素个数
# max(list) 列表元素的最大值
# min(list) 列表元素的最小值
## 列表包含的函数
# list.append(obj) 列表的末尾添加新的对象
# list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值
List =[1,2,3,4]
List1 =[3,4,5]
List.extend(List1)
print(List)#[1, 2, 3, 4, 5, 3, 4, 5]
List.append(List1)
print(List)#[1, 2, 3, 4, 5,[ 3, 4, 5]]
# list.insert(index, obj) 函数用于将指定对象插入列表的指定位置
List =[1,2,3,4]
List1 =[3,4,5]
List.insert(3, List1)
print(List)#[1, 2, 3, [3, 4, 5], 4]
#list.pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。list.pop(obj=list[-1])
#list.remove(obj)函数用于移除列表中某个值的第一个匹配项。
#list.count(obj) 用于统计某个元素在列表中出现的次数。
#######################################################
### 元组(Tuple) ###
#######################################################
#某些情况下,我们需要的序列不可修改,这个时候,就需要用元组,元组和列表相似
#但是元组的元素值不可修改也不能删除,可以进行分片和连接。
#元组创建很简单,用小括号括起来,用逗号隔开。元组使用小括号,列表使用中括号。
print(" ")
print("元组学习")
Tuple = () #创建元组
Tuple = ("a","b","c","d")
Tuple = ([1,2,3],"a",3,)
#注意:一个元素的元组,后边加一个“,”。Tuple =(30,)
print(Tuple) #([1, 2, 3], 'a', 3)
print("访问元组")
tuple = ("abcd",1,[1,2,4])
print(tuple[0])
print(tuple[1])
print(tuple[2]) #[1,2,4]
tuple1 =("ad",3,4)
print(tuple + tuple1) #('abcd', 1, [1, 2, 4], 'ad', 3, 4): 元组合并
#元组的元素不允许删除,但是我们可以删除整个元组
tuple = ("abcd",1,[1,2,4])
del tuple
# print(tuple) 元组已被删除,无效代码
#任意的以“,”分开的序列,默认是元组
a=[1,2,3,4],5,"str"
print(a) #([1, 2, 3, 4], 5, 'str')
#元组的函数 tuple()方法语法:Python 元组 tuple() 函数将列表转换为元组
#######################################################
### 字典(Dictionary) ###
#######################################################
#列表中元素通过下标进行定位,但是元素位置发生变化,则很难定位,python提供一种新的类型,那就是字典。字典中元素可以通过 key 访问
#字典是由花括号括起来的包含,key : value 两部分。 dict = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
#字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
print(" ")
print("字典学习")
dict = {"name":"yqq", "age":27}
print(dict["name"],dict["age"])
#修改字典
dict = {"name":"yqq", "age":27}
dict["age"] =25
print(dict) # {'name': 'yqq', 'age': 25}
dict["school"] ="bj"
print(dict) # {'name': 'yqq', 'school': 'bj', 'age': 25}
del dict["name"] #删除 key 条目
del dict #删除字典
#dict.clear() #清除所有条目
#字典的方法:
#dict.len(), 测量字典中,键值对的个数。
#dict.values() 返回一个包含字典 所有value的列表
#dict.keys() 返回一个包含字典所有KEY的 列表
#dict.items() 返回一个包含所有(键,值) 元祖的列表
dict = {'name': 'yqq', 'school': 'bj', 'age': 25}
print(len(dict)) #3
print(dict.keys()) #dict_keys(['name', 'age', 'school'])
print(dict.values()) #dict_values(['yqq', 25, 'bj'])
print(dict.items()) #dict_items([('name', 'yqq'), ('age', 25), ('school', 'bj')])
#字典的遍历: 遍历键、遍历值、遍历项、遍历键值对
for key in dict.keys():
print(key)
for value in dict.values():
print(value)
for item in dict.items():
print(item)
for key,value in dict.items():
print("key=%s"%key,"value=%s"%value)
#######################################################
### format()函数、str()函数、repr()函数 ###
#######################################################
## format() 函数基本用法 ##
#基本语法是通过 {} 和 : 来代替以前的 %
print(" ")
# 1. 格式化字符串: 可以接受无限个参数,可以指定顺序。返回结果为字符串
#不指定位置
print("学习{}中的{}函数".format('python', 'format'))
#指定位置
print("学习{1}中的{0}函数".format('format', 'python'))
#设置参数
list1 = ['hello','say','world','s']
print('LiMing {0[1]}{0[3]} {0[0]} to {0[2]}'.format(list1))
list1 = ['hello','say']
list2 = ['world','s']
print('LiMing {0[1]}{1[1]} {0[0]} to {1[0]}'.format(list1,list2))
#数字格式化:
#保留小数点
print('{:.2f}'.format(314.541))
#保留一位小数点并携带正负符号
print('{:+.1f}'.format(1.2684))
print('{:+.1f}'.format(-45.62556))
#百分比格式
print('{:.2%}'.format(0.54036))
#转进制 + 左右对齐
print('{:>20b}'.format(23)) #b二进制,>右对齐,长度为20
#d十进制,<左对齐,长度为15
print('{:<15d}'.format(892))
#x十六进制,^居中对齐,长度为10
print('{:^10x}'.format(16894))
#repr() 和 str() 是两个内置函数,它们都用于获取对象的字符串表示形式,但它们的目的和使用场景有所不同
#repr() 用于调试和开发,它旨在明确无误;str() 用于输出到用户,它旨在可读性。
#repr() 可能会包含额外的信息(如引号和转义字符),使其更精确;str() 则更倾向于易于阅读的格式。
#input函数 和 raw input函数
#raw_input()用于接收用户输入,并将其作为字符串返回。它不会对输入进行任何解释或转换,只是简单地读取并返回一个字符串
# name = raw_input("请输入你的名字:"):Python 2.x中用于获取字符串类型的用户输入,但已被弃用
#print("你好,%s" % name)
#如果你想要从用户那里获取整数、浮点数或列表等数据类型,你可能会使用input()函数。
#但是,请注意,这个函数会尝试解析输入的字符串为有效的Python表达式。这意味着如果用户输入的是一个表达式(例如,一个数学问题),它将被执行
age = input("请输入你的年龄:") #只能是str格式,即字符串格式
print("你是%s岁" %age)
return
if __name__ == "__main__":
main()