Python基础

命名规则

  • 变量名:user_name
  • 类名:UserPermission
  • 函数名:get_by_id
  • 常量:DEFAULT_URL

在命名时,通常要避免内置函数命名

  • str():将对象转为字符串
  • dict():创建字典对象
  • list():创建列表对象
  • set():创建集合对象
  • tulpe():创建元组对象
  • int():将对象转换为整数
  • float():将对象转换为浮点数
  • bool() :将对象转换为布尔值
  • len():返回对象长度
  • print() :打印

Python基本数据类型

整数、浮点数(带小数)、字符串、布尔值(True & False)、空值(None)

name = "张三" # str
float_num = 3.1415 # float
int_num = 3 # int
bool_flag = True # bool
team = None # None
print(type(name)) # 打印类型 <class 'str'>

字符串常见操作

name = '张三'

# 获取长度
name_len = len(name)
print(name_len) # 2

# 拼接
age = "18岁"
name_age = name + age
print(name_age) # 张三18岁

# 截取
surname = name[:1] # 表示的是从索引0开始截取到索引1之前(不包括索引1本身)的所有字符 name[0]也是可以的
print(surname) # 张

# 查找(特定元素首次出现的索引位置)
index_of_zhang = name.index('张')
print(index_of_zhang) # 0

# 替换
replace_name = name.replace('三','六')
print(replace_name) # 张六

# 分割
new_name = '李,四'
split_name = new_name.split(',')
print(split_name) # ['李', '四']

# 大小写转换
my_str.upper() # 大写
my_str.lower() # 小写

# 反转
my_str[::-1]

# 统计次数
str_count = name.count('张')
print(str_count) # 1

# 判断是否以某个字符开头
start_flag = name.startswith('张')
print(start_flag) # True

# 判断是否以某个字符结尾
end_flag = name.endswith('三')
print(end_flag) # Flase

# 去除两边字符
strip_name = " 王五 "
print(strip_name.strip()) # "王五"

# 居中对齐
text = "python"
width = 20

aligned_text = text.center(width)

# 首字母大写
print(text.capitalize()) # Python

# 每个单词首字母大写
more_text = 'python is best'
print(more_text.title()) # Python Is Best

基本数据类型的算数运算

num1 = 5
num2 = 10

# 相加
sum_num = num1 + num2
print(sum_num) # 15

# 想减
difference = num2 - num1
print(difference) # 5

# 相乘
product = num1 * num2
print(product) # 50

# 相除
quotient = num2 / num1
print(quotient) # 2.0 python3中的整数除法默认返回浮点数结果

# 取余
remainder = num2 % num1
print(remainder) # 0

# 指数运算
power = num2 ** num1
print(power) # 100000

# 自增
num1 += 1
print(num1) # 6

# 自建
num2 -= 1
print(num2) # 9

sum 在 Python 中是内置函数,在编写代码时应避免将其用作变量名。
Python 中没有 ++-- 运算符,需要使用 +=-= 对变量进行自增或自减。
在python中,只有兼容的数据类型才能进行计算,比如floatint运算结果为float,如果strint进行运算,则会抛出异常,需对其中一个进行类型转换

类型转换

gb = '8192MB'
int_tb = int(gb[:-2]) // 1024
print(f"硬盘大小为{int_tb}")

Python使用与类型同名的内置函数进行类型转换(如:str(some_val)bool(some_val)
Python中“8195MB”因为值与整数或者浮点数的类型不兼容,所以无法直接转为整数或者浮点数
Python中可以通过字符串切片[start:end]获取需要的字符。

列表和元组

在 Python 中,数组被称之为列表,用于存储多个连续的值。

列表

# 列表

# 创建
nums = [1, 2]
# or
my_list = list()
# or
my_tuple = (1, 2)

# 访问列表项
el = nums[1] # num[index]
print(el) # 2

# 添加
nums.append(3)
print(nums) # [1, 2, 3]

# 长度
length = len(nums)
print(length)

# 切片
some_el = nums[:1]
print(some_el) # [1]

# 拼接
num2 = [3, 4]

my_num = nums + num2
print(my_num)

# 复制
new_list = my_num.copy()
print(my_list)

# 反转
reverse_list = my_num.reverse()
print(reverse_list)

# 删除
del_list = [1, 2, 3]
del del_list[0] # del会修改原数组 返回新数组则需要切片[start:end]
print(del_list)

# 最大值
max_val = max(my_list)

# 最小值
min_val = min(my_list)

# 转换为元组
my_tuple = tuple(my_list)

元组可以理解为只读的数组,它在创建时确定元素个数和元素的值,一旦创建就不能被修改。

字典

字典是一个键值对(key-value pair)的集合,通过键(key)来访问对应的值(value)。它使用大括号 {} 创建。

特性

  • 无序性:集合中的元素没有特定的顺序。
  • 唯一性:集合内的元素是唯一的,无法插入重复元素。
  • 可变性:集合是可变的,可以添加、删除元素,但集合内的元素必须是不可变类型。
# 字典
person_info = {}
person_info["name"] = "张三"
person_info["age"] = 18
person_info["city"] = "北京"

# 访问
print(person_info["name"])

# 访问或默认值
print(person_info.get("frind","李四"))

# 更新值
person_info["city"] = "上海"
print(person_info)

# 合并和更新
a_b = {"a": 1,"c": 2}
c_d = {"c": 3, "d": 4}
a_b.update(c_d)
print(a_b)

# 删除键值对
del person_info["age"]

# 检查键值对是否存在 key in my_dict
my_dict = {'name': 'alice', 'age': 18, 'city':'New York'}
if 'name' in my_dict: # True
    print('name is exist')
else: # False
    print('name not exist')

# 获取所有键
my_dict.keys()

# 获取所有值
my_dict.values()

# 获取键值对数目
len(my_dict)

my_dict[key]与my_dict.get(key,default)有什么区别?

在Python中,访问字典(dictionary)中的值有两种常见方式:
1.使用方括号[]

my_dict[key]

这种方法会直接尝试给定的键key获取字典中的值,如果存在,则返回对应的值,如果不存在该键,则会抛出keyError异常
2.使用get()方法:
这种方法也是用过键key获取字典中的值,但提供了额外的功能:如果键不存在字典中,它将返回None(默认行为)。此外,get()方法可以接受第二个参数作为默认值,当键key不存在时,返回默认值。

my_dict.update(another_dict) 作用

  • 如果 another_dict 中的键在 my_dict 中已经存在,那么对应键的值将被 another_dict 中的值所更新(覆盖)。
  • 如果 another_dict 中的键在 my_dict 中不存在,则该键及其对应的值将被添加到 my_dict 中。
  • 是对原数组的操作

集合

集合是一个无序的、不重复元素的集合。它使用大括号 {} 或者 set() 函数创建。

特性

  • 无序性:集合中的元素没有特定的顺序。
  • 唯一性:集合内的元素是唯一的,无法插入重复元素。
  • 可变性:集合是可变的,可以添加、删除元素,但集合内的元素必须是不可变类型。
# 集合

# 创建集合
my_set = set()

# 添加元素
el = "apple"
my_set.add(el)
# if
el2 = "banana"
el3 = "apple"
my_set.add(el2)
my_set.add(el3)
print(my_set) # {'banana', 'apple'}

# 检查大小
size = len(my_set)
print(size)  # 输出:2

# 检查是否为空
if len(my_set) == 0:
    print('Yes')
else:
    print('No')

# 删除元素
my_set.remove('banana')

# 清空集合
my_clear = {'apple', 'banana'}
my_clear.clear()

# 检查成员是否存在
exist = el2 in my_set #True or False

# 将集合转换为数组
my_list = list(my_set)

# 集合的并集
my_set_Union = {1, 2, 3}
another_set = {3, 4, 5}

# 使用 union() 方法
combined_set = my_set_Union.union(another_set)
print(combined_set)  # 输出:{1, 2, 3, 4, 5}

# 或者使用 | 操作符
combined_set = my_set_Union | another_set
print(combined_set)  # 输出:{1, 2, 3, 4, 5}
# 集合的交集
my_set_inter = {1, 2, 3}
another_set = {3, 4, 5}

# 使用 intersection() 方法
common_elements = my_set_inter.intersection(another_set)
print(common_elements)  # 输出:{3}

# 或者使用 & 操作符
common_elements = my_set_inter & another_set
print(common_elements)  # 输出:{3}

集合(Set)与字典(Dictionary)的主要区别?

  1. 元素构成
  • 集合:仅包括元素,每个元素都是独一无二,不允许重复。(被去重了)
  • 字典:由键值对构成,键(key)必须是唯一的,值(val)可以重复
  1. 元素访问
  • 集合:不支持索引访问,只能通过循环遍历或者in来确认元素是否存在
  • 字典:通过键(key)来访问值,支持索引操作,例如d[key],可以直接读取或者修改对应的值,另外也可以通过get[,default]方法安全获取值
  1. 元素特性
  • 集合:元素无序且不可重复。
  • 字典:键必须是不可变类型,值可以是任何类型
my_dict = {
    'name': 'Alice',  # 值为字符串,不可变类型
    'age': 25,        # 值为整数,不可变类型
    'hobbies': ['reading', 'swimming'],  # 值为列表,可变类型
    'profile': {'height': 165, 'weight': 55}  # 值为字典,可变类型
}
  1. 操作功能,
  • 集合:提供如并集,交集,差集等数学集合操作方法
  • 字典:提供增删改查键值对操作,以及keys(),values(),items()获取键、值或者键值对视图
  1. 应用场景
  • 集合:常用于去重、求交集、并集、差集等集合论相关操作,及快速检测元素是否存在等场景。
  • 字典:常用存储和管理关联数据,通过键高效查询值,比如构建索引,映射表等。
  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值