Python基础知识篇(很适合小白哟!)

在学习Python之前,首先我们需要知道这门语言的优势在哪?劣势又在哪?

python优点

简洁、优雅、灵活
入门非常简单,但真正精通较为困难
• python 可以编写服务器脚本,也可以编写

python缺点

运行效率慢(相对于 c java
编译型语言( C C++)
执行前必须先进行编译,编译成底层机器码
解释型语言 ( python javascript )不用编译,每次执行都需要解析源代码
在了解了它的优缺点以后,就让我们来真正的开始对它的学习吧!

Python数据类型

不可变数据         可变数据类型
number、string、tuple         list、dictionary、set

在python不像java这种语言,有单双精度之分,默认float为双精度。

python中如何表示进制 ?

• 0b 表示 2 进制( 0b111
• 0o 表示 8 进制 (0o111)
• 0x 表示 16 进制( 0x1F

python进制转换

• bin 方法实现其他进制转换为 2 进制
• int 方法实现其他进制转换为 10 进制
• hex 方法实现其他进制转换为 16 进制
• oct 方法实现其他进制转换为 8 进制

基础简单语法

1.print

C语言中常用printf,但python里面用print,打印字符串的格式为:print("字符串")print('字符串'),单引号或者双引号都行。

print("hello world")

在这里有一点需要注意,例如我们想在用print语句输出一个文件地址

 可是这里的\与系统的转义符冲突了

第一种:我们可以再加一个\,表示将后面的\转义为普通\

第二种:我们可以在输出语句前加字符"r",表示输出原格式

输出结果:

2.变量

(1)变量名由字母、数字、下划线组成,以字母或者下划线开头,不能以数字开头,不能包含空格,最好是见名知意,养成良好的编程习惯。

(2)变量与非变量字符串同时打印格式:print(f"字符串{变量名1}字符串{变量名2}")

(3)约定俗成:所有字母都大写的变量名为常量,不要去改变它的值(虽然在py编译器中没有这种区别)

3.字符串常用方法

方法是python对数据执行的操作,格式为: xxx.方法名()

介绍一些常用的字符串格式变换方法:

  • title(),让首字母大写。
  • upper(),让所有字母大写。
  • lower(),让所有字母小写。
  • lstrip(),去掉字符串开头的空白
  • rstrip(),去掉字符串末尾的空白
  • strip(),去掉字符串两边的空白

以上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)

4.关于number

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中列表的定义、增、删、改、查,以及一些其他的操作

1.列表的定义

列表类似于C语言中的数列。python中列表定义的格式为:

列表名 = ["元素0","元素1","元素2","元素3"]

friend_names = ["ly","zqq","dyw","zfd"]

2.在列表中增加元素

  • 列表名.append(要增加的元素) 功能:在列表末尾增加元素
  • 列表名.extend(要增加的元素) 功能:跟append相似,只不过当我们追加列表的时候,不像append会把列表的[]一起追加进去,而extend是追加元素而已。
  • 列表名.insert(位置,要增加的元素) 功能:在相应位置增加元素
friend_names = ["liuyang","zqq","dyw","zfd"]
friend_names.append("fyl")
print(friend_names)
friend_names.insert(1,"xcy")
print(friend_names)

3.在列表中删除元素

  • del 列表名[位置] 功能:删除相应位置的元素
  • 列表名.pop(位置) 功能:弹出原列表相应位置的元素,弹出的元素为 列表名.pop(位置),若位置为空,则默认弹出末尾的元素
  • 列表名.remove(xx) 功能:删除列表中第一个内容为 xx 的元素
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)

4.查看列表元素

  • 查看列表所有元素:print(列表名)
  • 表示列表中第n个元素:列表名【n-1】

5.修改列表元素顺序---组织列表

#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)

6.for循环遍历列表元素

  • for 变量名 in 列表名:
  • _____循环语句1
  • _____循环语句2
  • _____......
  • 语句
  • #功能:在第n次循环中,变量名表示列表的第n个元素。例如在第一次循环中,变量名表示元素0.将所有元素遍历后跳出循环执行后续语句,此时变量名值为列表最后一个元素
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.")

7.检查列表元素 in 、not in

  • 元素 in 列表名:检查特定元素是否在列表中,返回布尔类型
  • 元素名 not in 列表名:检查特定元素是否不在列表中,返回布尔类型
car = ["audi","bwm","subaru","toyota"]
aa = "bwm" in car
bb = "www" in car
cc = "awm" not in car
print(aa,bb,cc)

8.列表复制

列表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}")

9.数组

  • 函数名 range(a,b,c) 功能:创建连续的步长为c的整数串,从a到b-1,c不写的话默认为1
  • 函数名 list(x) 功能:将x(x表示一系列数)转化为列表
  • 函数名 min(数字列表) 功能:得到列表中的最小值
  • 函数名 max(数字列表) 功能:得到列表中的最大值
  • 函数名 sum(数字列表) 功能:得到列表所有数的和
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)

10.列表切片

Python 切片操作的一般方式
• 一个完整的切片表达式包含两个“ : ”,用于分隔三个参数 (start_index end_index 、step) 。当只有一个“: ”时,默认第三个参数 step=1 ;当一个“: ”也没有时, start_index=end_index ,表示切取 start_index 指定的那个元素
•切片操作基本表达式: object[start_index:end_index:step]
• step :正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了 “切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当 step 省略时,默认为 1 ,即从左往右以步长 1 取值
start_index :表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点” 开始取值,至于是从“起点”还是从“终点”开始,则由 step 参数的正负决定, step 正从“起点”开始,为负从“终点”开始。
end_index :表示终止索引(不包含该索引对应值);该参数省略时,表示一 直取到数据“点”,至于是到“起点”还是到“终点”,同样由 step 参数 的正负决定, step 为正时直到“终点”,为负时直到“起点”。
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)

注:可以这样记,当切片方向与默认方向不一致时,结果始终为空

11.不可变的列表---元组

元组格式:元组名 = (元素0,元素1) 元组名 = (元素0,)

访问格式:元组名[n]

说明:如果元组中只含有一个元素的话,需要在元素后面加上逗号,否则不是元组,表示一个数

注:元组中的元素不可变,只是相对而言,当我们元组中的元素为列表或者其它可变类型时,我们可以改变其中列表元素的值。

例如:

 结果为:

三、if语句条件判断

if语句基本格式:

  • if 条件a:
  • ____语句1
  • ____语句2
  • elif 条件b:
  • ____语句3
  • else:
  • ____语句4

功能:如果条件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!")

四、字典

字典是一系列键值对,每个键都和一个值相关联,可以使用键来访问关联的值。与键相关联的值可以是数、字符串、列表、字典等,可将任何对象作为字典的值。

1.字典的定义

字典定义格式:键与值之间用冒号分隔,每个键值对之间用逗号分隔,字典用大括号括起来

  • 字典名 = {键1:值1,键2:值2,键3:值3,键4:值4}

有时为了方便识别键值对可以按以下格式定义:

lovers = {
	"qrc":"hjx",
	"ly":"zzy",
	"zqq":0}
print(lovers)

当然也可以创建空字典,再向空字典里面添加键值对(后面讲述):

none = {}
none[1] = 11
print(none)

2.字典的基本操作

  • 访问字典中某一个键对应的值: 字典名[键名]
  • 添加/修改新的键值对: 字典名[新键名] = 新值
  • 删除键值对: del 字典名[键名]
  • 使用get来访问字典中键的值: 字典名.get(键,值0) 功能:返回键对应的值,若键不存在,则返回值0.若不写值0,则默认为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"))

3.遍历字典

  • 遍历字典所有键值对 for 变量1,变量2 in 字典名.items(): 功能:字典名.items()返回的是键值对列表
  • 遍历字典所有键 for 变量 in 字典名.keys(): 功能:字典名.keys()返回的是键列表
  • 遍历字典所有值 for 变量 in 字典名.values(): 功能:字典名.values()返回值列表

代码接上小节:

#遍历字典所有键值对    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)

4.嵌套字典

下例介绍了三种字典的嵌套:

#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']}"
		)

猜你喜欢

转载自blog.csdn.net/m0_65463546/article/details/126982455
今日推荐