不可变数据 | 可变数据类型 |
number、string、tuple | list、dictionary、set |
在python不像java这种语言,有单双精度之分,默认float为双精度。
C语言中常用printf,但python里面用print,打印字符串的格式为:print("字符串")或print('字符串'),单引号或者双引号都行。
print("hello world")
可是这里的\与系统的转义符冲突了
第一种:我们可以再加一个\,表示将后面的\转义为普通\
第二种:我们可以在输出语句前加字符"r",表示输出原格式
输出结果:
(1)变量名由字母、数字、下划线组成,以字母或者下划线开头,不能以数字开头,不能包含空格,最好是见名知意,养成良好的编程习惯。
(2)变量与非变量字符串同时打印格式:print(f"字符串{变量名1}字符串{变量名2}")
(3)约定俗成:所有字母都大写的变量名为常量,不要去改变它的值(虽然在py编译器中没有这种区别)
方法是python对数据执行的操作,格式为: xxx.方法名()
介绍一些常用的字符串格式变换方法:
以上6种方法不改变变量中原有的内容,只有在使用该方法的时候发生相应的变化
name = " qrc"
school = " Seu "
print("qrc".title())
print(name.upper())
print(school.lower())
print(name)
print(school.lstrip())
print(school.rstrip())
print(school.strip())
print(school)
print(2+3)#加
print(2-3)#减
print(2*3.0)#乘,只要有一个因子是小数,结果就是小数
print(2/3)#除
print(2**3)#乘方
print(4/2)#除法的结果总是小数
print(1_000_000_000)#用下划线分开,更方便读取,但打印的时候不打印下划线,处理时计算机会也忽略下划线
x,y,z=1,2,3
CONST=100#定义一个常数(约定俗成全大写为常数,但其实电脑会把他看出一个变量)
print(x,y,z)
print(CONST)
CONST=200#最好不要像这样修改常数的值
print(CONST)
介绍python中列表的定义、增、删、改、查,以及一些其他的操作
列表类似于C语言中的数列。python中列表定义的格式为:
列表名 = ["元素0","元素1","元素2","元素3"]
friend_names = ["ly","zqq","dyw","zfd"]
friend_names = ["liuyang","zqq","dyw","zfd"]
friend_names.append("fyl")
print(friend_names)
friend_names.insert(1,"xcy")
print(friend_names)
friend_names = ["liuyang","zqq","dyw","zfd"]
del friend_names[1]
print(friend_names)
old_friend = friend_names.pop()
print(friend_names)
print(old_friend)
friend_names.remove("zqq")
print(friend_names)
#1.列表名.sort() 功能:将列表中的元素按照字母顺序排列---永久
# 列表名.sort(reverse = True) 功能:将列表中的元素按照字母倒序排列---永久
people = ["abb","zjj","hll","xyl"]
print(people)
people.sort()
print(people)
people.sort(reverse = True)
print(people)
#2.sorted(列表名) 功能:将列表中的元素按照字母顺序排列---临时,不改变原来列表的元素顺序
# sorted(列表名,reverse = True) 功能:将列表中的元素按照字母倒序排列---临时
people = ["abb","zjj","hll","xyl"]
print(people)
sorted(people)
print(people)
print(sorted(people))
print(sorted(people,reverse=True))
print(people)
#3.列表名.reverse() 功能:倒序列表元素---永久
people = ["abb","zjj","hll","xyl"]
people.reverse()
print(people)
#4.len(列表名) 功能:返回x,列表包含x个元素
len1 = len(people)
print(len1)
fruits = ["apple","banana","watermelon","strawberry"]
for fruit in fruits:
print(f"{fruit} is my favorite fruit!")
print("I like it.")
print("Eating fruits is good for health.")
car = ["audi","bwm","subaru","toyota"]
aa = "bwm" in car
bb = "www" in car
cc = "awm" not in car
print(aa,bb,cc)
列表1 = 列表2 表示给列表2取另一个名字叫列表1,列表1和列表2表示同一个列表
my_foods = ["pizza","falafel","carrot cake"]
friend_foods = my_foods
my_foods.append("icecream")
friend_foods.append("rice")
print(f"I like eating {my_foods},my friend like eating {friend_foods}")
列表1 = 列表2[:] 表示复制列表2的所有元素到列表1,列表1和列表2是两个列表
my_foods = ["pizza","falafel","carrot cake"]
friend_foods = my_foods[:]
my_foods.append("icecream")
friend_foods.append("rice")
print(f"I like eating {my_foods},my friend like eating {friend_foods}")
nums = list(range(-3,5,2))
print(nums)
print(f"min is {min(nums)}")
print(f"max is {max(nums)}")
print(f"sum is {sum(nums)}")
for num in nums:
print(num)
例:创建一个数组包括1到9的平方
#方法一
squares = []
for value in range(1,10):
squares.append(value**2)
print(squares)
#方法二
#列表解析
#格式 列表名 = [表达式 for 变量名 in 数组]
squares = [value**2 for value in range(1,11)]
print(squares)
nums = [3,54,65,7648,76,7,8,65,6,2]
print(nums)
print(nums[0:3])
print(nums[3:6])
print(nums[:6])
print(nums[3:])
print(nums[-3:])
print(nums[-3::2])
print(nums[:])
for num in nums[0:3]:
print(num)
元组格式:元组名 = (元素0,元素1) 元组名 = (元素0,)
访问格式:元组名[n]
说明:如果元组中只含有一个元素的话,需要在元素后面加上逗号,否则不是元组,表示一个数
注:元组中的元素不可变,只是相对而言,当我们元组中的元素为列表或者其它可变类型时,我们可以改变其中列表元素的值。
例如:
结果为:
if语句基本格式:
功能:如果条件a成立,执行语句1,语句2;如果a不成立,b成立,执行语句3;否则执行语句4
注意:if判断条件语句后面要加冒号,满足条件执行的代码要缩进
以下是if的常见三种应用:
#if与for来判断列表中每一个元素
alien_colors = ["green","yellow","red"]
print(alien_colors)
n = 1
for alien_color in alien_colors:
if alien_color == "yellow":
print(f"The number {n} alien is a beatiful yellow alien!")
else:
print(f"The number {n} alien is not my alien!")
n = n+1
print(f"n={n}")
#if来检测列表中是否有某一元素
if "black" not in alien_colors:
print("There are not black alien.")
#if来判断列表是否为空 格式 if 列表名: 非空返回True 空返回False
people = []
if people:
print("People is coming!")
else:
print("There are no people!")
字典是一系列键值对,每个键都和一个值相关联,可以使用键来访问关联的值。与键相关联的值可以是数、字符串、列表、字典等,可将任何对象作为字典的值。
字典定义格式:键与值之间用冒号分隔,每个键值对之间用逗号分隔,字典用大括号括起来
有时为了方便识别键值对可以按以下格式定义:
lovers = {
"qrc":"hjx",
"ly":"zzy",
"zqq":0}
print(lovers)
当然也可以创建空字典,再向空字典里面添加键值对(后面讲述):
none = {}
none[1] = 11
print(none)
lovers = {
"qrc":"hjx",
"ly":"zzy",
"zqq":0}
print(lovers)
#访问字典中某一个键对应的值 字典名[键名]
print(lovers["zqq"])
#添加/修改新的键值对 字典名[新键名] = 新值
lovers["zqq"] = 2
lovers["sy"] = "qyy"
lovers["hyq"] = 0
lovers["lxq"] = 0
print(lovers)
#创建空字典
none = {}
none[1] = 11
print(none)
#删除键值对
del lovers["zqq"]
print(lovers)
#使用get来访问字典中键的值 字典名.get(键,值0) 功能:返回键对应的值,若键不存在,则返回值0.若不写值0,则默认为None
print(lovers.get("qrc"))
print(lovers.get("xcy",111))
print(lovers.get("xcy"))
代码接上小节:
#遍历字典所有键值对 for 变量1,变量2 in 字典名.items(): 功能:字典名.items()返回的是键值对列表
#sorted() 按照键的首字母顺序排列
for a,b in sorted(lovers.items()):
print(f"{a} 's lover is {b}")
#遍历字典所有键 for 变量 in 字典名.keys(): 功能:字典名.keys()返回的是键列表
for name in lovers.keys():
print(name.title())
#遍历字典所有值 for 变量 in 字典名.values(): 功能:字典名.values()返回值列表
#set() 去除重复的值
for value in set(lovers.values()):
print(value)
下例介绍了三种字典的嵌套:
#1.把字典存储在列表中
alien_0 = {"color":"red","point":3}
alien_1 = {"color":"blue","point":4}
alien_2 = {"color":"black","point":5}
aliens = [alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
#2.把列表存储在字典中
favorite_languages = {
"wza":["c","python"],
"wry":["c++","python"],
"qrc":["c","c++"],
"ty":["java","c","c++"]
}
for name,languages in favorite_languages.items():
print(f"\n{name}'s favorite languages are:")
for language in languages:
print(f"\t{language}")
#3.把字典存储在字典中
users = {
"qrc":{
"location":"nanjing",
"telephone":"18213"
},
"hjx":{
"location":"qianan",
"telephone":"18016"
}
}
for user_name,user_message in users.items():
print(f"{user_name.title()}'s location is {user_message['location']},"
f"and it's telephone number is {user_message['telephone']}"
)