python基础语法【自用】

始发站

   🚩Python的基础语法,冲冲冲!

   🚩注:本篇为python基础语法篇,因博主之前使用java,所以本基础语法篇实为自用丐版!

🌲 你好,世界!

安装环境&Pycharm:

在这里插入图片描述
在这里插入图片描述

🌲 Python基础语法

🌷 数据类型

Python的六个标准数据类型:

  • Numbers(数字)
  • String(字符串):不可变可重复,改变得到一个新的字符串
  • List(列表):有序可变可重复序列
  • Tuple(元组):有序不可变可重复序列
  • Dictionary(字典):无序key-value集合
  • Set(集合):无序不重合集合

不可变数据:Number(数字)、String(字符串)、Tuple(元组);
可变数据:List(列表)、Dictionary(字典)、Set(集合)。

🍄查看数据类型

可以使用type()语句查看数据类型

print(type("你好,世界!"));
print(type(123));
print(type(121.12));

在这里插入图片描述

🍄数据类型转换

常用有:

  • int(x):将对象转换为数字
  • float(x)将对象转换为浮点数
  • str(x)将对象转换为字符串
print(type(121.12));
print(type(str(121.12)));

在这里插入图片描述

🍄字符串拓展

🌱三种定义形式
str1 = 'a';
str2 = "a";
# 三引号定义支持换行操作,使用变量接受其就是字符串,不接受便是注释
str3 = """a""";
🌱字符串格式化

正常情况下使用+拼接字符串,但是字符串与数字及其他类型无法由+拼接,所以此时可以通过%s来进行拼接

  • %:占位符
  • s: 要占位的变量
i = 20000;
str2 = "元"
str1 = '3090ti价值%s元' % i;
str2 = '3090ti价值 %s %s' % (i,str2);
print(str1);
print(str2);

多个变量占位用()括起来,按顺序填入,此处是将数字转换为字符串进行占位

在这里插入图片描述

在python中,支持多种数据类型占位,最常用的是这三种:

  • s: 将内容转换为字符串占位
  • d: 将内容转换为整数占位
  • f : 将内容转换为fudianxing占位
🍫 精度控制
i = 20.22;
print("数字:%f"%i);

在这里插入图片描述
我们可以使用辅助符号m.n来控制数据的宽度与精度:

  • m: 控制宽度,要求使用数字(很少使用),设置宽度若小于数据自身,则不生效
  • n : 控制小数点精度,要求使用数字,会进行小数的四舍五入
i = 20.22;
print("宽度为10,精度为2:%10.2f"%i);
print("宽度为10,精度为1:%10.1f"%i);
print("不设宽度,精度为1:%.1f"%i);

在这里插入图片描述

🍫 格式化的另一种写法

使用f内容{变量}的方式进行格式化(f其实就是format格式化的首字)

i = 20.22;
print("宽度为10,精度为2:%10.2f"%i);
print("宽度为10,精度为1:%10.1f"%i);
print("不设宽度,精度为1:%.1f"%i);
print(f"另一种格式化:{i}");

在这里插入图片描述

也可以对表达式进行格式化

拓展:
制表符\t
作用:使多行字符串对齐

🌷 注释

注释分为两类

  • 单行注释:以#开头
  • 多行注释:以一对"""(三引号)引用

🌷 for循环

for循环本质上是遍历序列类型
语法:

for 变量 in 序列类型:
	执行逻辑

序列类型指其内容连续,有序,可使用下标索引的一类数据容器,包括:

  • 字符串
  • 元组
  • 列表

🍄range语法

  1. range(num):从0开始,不包括num本身
for x in range(5):
   print(x)
   #输出结果:0,1,2,3,4
  1. rage(num1,num2):从num1开始,不包括num2本身
for x in range(510):
   print(x)
   #输出结果:5,6,7,8,9
  1. rage(num1,num2,step):从num1开始,步长为step,不包括num2本身
for x in range(5102):
   print(x)
   #输出结果:5,7,9

🌷函数

🍄函数定义

def 函数名(传参):
	"""
	函数说明文档:
	:parm x:形参x的说明
	:parm y:形参y的说明
	:return:返回值的说明
	"""
	函数体
	return 返回值

🍄返回值之None类型

基本上和java并无太大区别,需要注意的是:

当函数未使用return语句返回数据时,依旧有返回值

         python中有一个特殊的字面量:None,其类型为`class 'NoneType',无返回值的函数实质是返回了None这个字面量

def test():
    print("test")

x = test()
print(x)
print(type(x))

在这里插入图片描述

🌱应用场景

None作为一个特殊的字面量,用于表示空,无意义,其有多种应用场景

  1. 用于函数无返回值
  2. 用于if判断上:
    - None等同于flase
    - 一般用于函数中主动返回None,配合if判断做相关判断
  3. 用于声明无内容的变量
    - 定义变量但暂时不需要变量有具体值,可以用None代替

🍄变量作用域

需要注意的是,python若是要在函数中操纵全局变量,可在函数体相关逻辑前使用globa关键字声明此时操纵的是全局变量,而不是同名的临时变量;

i = 1
x = 2


def test():
    global i
    i = 100
    x = 200
    return f"i={i},x={x}"


str = test()
print(str, i, x)

在这里插入图片描述

🌷数据容器

一种可以容纳多份数据数据类型,容纳的每一份数据称之为1个元素,每一个元素,可以是任意类型的数据,如字符串,数字,布尔等。

数据容器根据特点不同,如

  • 是否支持重复元素
  • 是否可修改
  • 是否有序

分为5类:列表(list),元组(tuple),字符串(str),集合(st),字典(dict)

🍄列表(list)-有序可变可重复

# 字面量
[元素1,元素2,元素3...]
# 定义变量
变量名称 = [元素1,元素2,元素3...]
# 定义空列表
变量名称 = []
变量名称 = list()

列表也可嵌套列表,如:
result = [[1,2,3],[4,5,6,]]
这同样是一个列表

🌱列表索引

可使用result[索引]取出对应位置的的数据,和java不同的点在于,python可以从索引-1开始从右向左取值:

list = ["我","喜欢","影"]
print(list[0],list[1],list[2])
print(list[-1],list[-2],list[-3])

在这里插入图片描述

🌱列表常用方法
  • list.index(元素) : 查询某元素下标
  • 列表[下标] = 值 : 修改指定索引下的值
  • 列表.insert[索引,值]: 在指定索引处插入值
  • 列表.append[元素] : 在指定索引后追加一个元素
  • 列表.extend[元素] : 在指定索引后追加一批元素
  • del 列表[索引]: 删除列表指定索引位置的元素
  • 列表.pop[元素] : 取出列表指定索引位置的元素(删除)
  • 列表.remove[元素值] : 删除第一个匹配的元素
  • 列表.clear() : 清空列表
  • 列表.count(元素值) : 统计某元素在列表中的数量
  • len(列表) : 统计列表元素数量

🍄元组(tuple)-有序不可变可重复

元组一旦定义完成便不可修改
场景:
程序内封装数据且不被篡改

# 字面量
(元素1,元素2,元素3...)
# 定义变量
变量名称 = (元素1,元素2,元素3...)
# 定义空元组
变量名称 = ()
变量名称 = tuple()

🍄拓展:数据容器(序列)的切片操作

定义:从一个序列中取出一个子序列
语法:序列[起始下标 : 结束下标 : 步长]
表示从序列中指定位置开始,依次取出元素,到指定位置,得到一个新序列(三个传参皆可省略,可倒序切片)
常用方法: spilt,replace

🍄集合(Set)-无序不可变不可重复

# 字面量
{元素1,元素2,元素3...}
# 定义变量
变量名称 = {元素1,元素2,元素3...}
# 定义空集合
变量名称 = set{}
🌱集合方法
  • 集合.pop() : 从集合中随机取出一个元素
  • 集合1.difference(集合2) : 取出集合1和集合2的差集(得到一个新集合,集合1有集合2没有)
  • 集合1.difference_update(集合2) : 对比两集合,在集合1中删除和集合2相同的元素(集合2不变,集合1 被修改)
  • 集合1.union(集合2) 取并集(得到一个去重)

🍄字典(Dictionary)-无序可变不可重复

# 字面量
{key1:value,key2:value,key3:value}
# 定义变量
变量名称 = {key1:value,key2:value,key3:value}
# 定义空字典
变量名称 = {}
变量名称 = dict{}
🌱字典方法
  • 字典.pop(key) : 从字典中删除键为key的数据
  • 字典.keys : 取出字典中的所有key
  • 字典.clear : 清空字典
  • len(字典) : 统计字典中所含元素数量

🌷拓展

🍄json数据转换

python中json转换仅需引入json模块

  • json.dumps(data) : 将python数据转换为json数据
  • json.load(data) : 将json数据转换为python数据

🍄装饰器

装饰器其实也是一种闭包,其功能就是在不破坏目标函数原有代码和功能的前提下,为目标函数增加新功能

例:
原有代码:

def sleep():
	import random
	import time
	pringt("睡觉中")
	time.sleep(random.randint(1,5))
  • 装饰器一般写法:
def sleep():
	import random
	import time
	pringt("睡觉中")
	time.sleep(random.randint(1,5))

def outer(func):
	def inner():
		print("准备睡觉")
		func()
		print("睡醒")
	return inner
	
# 调用
fn = outer(sleep)
  • 注解
def outer(func):
	def inner():
		print("准备睡觉")
		func()
		print("睡醒")
	return inner
	
# 注解
@outer
def sleep():
	import random
	import time
	pringt("睡觉中")
	time.sleep(random.randint(1,5))
# 调用
sleep()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月色夜雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值