2、python 基础知识

本文介绍了Python中的变量概念,包括其在内存中的存储和回收机制,以及动态类型的特点。还详细讲解了字符串的操作,如使用f-string插入变量,以及不同类型之间的比较。同时提到了字符串、整数、浮点数和复杂数的使用,以及Python中的基本数据类型和一些内置函数的运用,如列表和元组的处理。
摘要由CSDN通过智能技术生成
1、变量

用于程序运行过程中临时存储数据(临时存储在内存中)
例:X = 123

1)变量的存储和回收

第一个 x = 123 中的值没有被变量引用会自动回收

import sys

x = 123
x = "ABC"
print(x)
# 输出:ABC

x1 = 123
x2 = "ABC"
# 使用 getsizeof 函数查看变量内存大小
print(sys.getsizeof(x1))  # 输出:28
print(sys.getsizeof(x2))  # 输出:52

为什么不直接把 x = 123 里面的值改成 456,而是要将 x = 123 回收,再重新将 456 赋值给变量 x 呢?

  1. 更改x=123的值会带来额外的开销
    1. 比较新申请(x = “ABC”)的内存空间和原有(x = 123)内存空间的大小,原来的大了要释放,原来的小了要增加。
  2. 多线程访问时要保证修改的内容不会被别的线程并行修改。避免引入更复杂的互斥机制(操作系统进程相关知识)。
2)变量的数据类型由所引用的值决定

python 是动态类型语言,变量的数据类型在运行时动态更改,不需要在申明变量时明确指定。

x = 123     # x 是一个整数类型
y = 123.0   # y 是一个浮点类型
z = "python" # z 是一个字符串类型
print(type(x))
print(type(y))
print(type(z))
# 输出:
# <class 'int'>
# <class 'float'>
# <class 'str'>

x1 = int(123.0) # 申明x1为整数类型
y1 = float(123) # 申明y1为浮点类型
z1 = str("456") # 申明z1为字符串类型
print(type(x1))
print(type(y1))
print(type(z1))
# 输出
# <class 'int'>
# <class 'float'>
# <class 'str'>

print(abc) # 没有被赋值的变量会报错NameError
# NameError: name 'abc' is not defined
3)字符串中使用变量:

在字符串中插入变量的值时,可以使用 f-strings。用法:f"{ 变量名 }"

# 例如
x = 123
print(f"{x}: {x} 是变量x的值")

_#python 3.6以上版本 _

待学习:

  1. python 回收机制
  2. python 并发与多线程
2、字符串:字符串用于处理文本数据,是python中最常用的数据类型之一

例如:
‘123’
“123”
‘’‘123’‘’ 或 “”“123"”"

字符串的基本操作
成员运算x in s如果 s 中的某项等于 x,那么结果为 Ture,否则为 False
x not in s如果 s 中的某项等于 x,那么结果为 False,否则为 True
连接运算s + ts 与 t 相拼接
s * t 或 n * s相当于 s 与自身进行 n 次拼接
切片运算s[i]s 的第 i 项,起始为 0
s[i:j]s 从 i 到 j 的切片
s[i:j:k]s 从 i 到 j 步长为 k 的切换
字符串的常用方法
字符串的所有方法:字符串的方法

str.count(sub[, start[, end]])

  • 返回子字符串 sub 在 [start, end] 范围内非常重叠出现的次数

str.isalnum()

  • 如果字符串中的所有字符都是字母或数字,且至少有一个字符,那么返回 True,否则返回 False

str.isalpha()

  • 如果字符串中的所有字符都是字母,且至少有一个字符,那么返回 True,否则返回 False

str.join(iterable)

  • 返回一个由 iterable 中的字符串拼接而成的字符串

str.split(sep=None, maxsplit=-1)

  • 返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串

str.startswith(prefix[, start[, end]])

  • 如果字符串以指定的 prefix 开始,那么返回 True,否则返回 False
字符串与数字使用:
  • python 的比较运算符是区分大小写
  • 字符串中的每个字符都有一个ASCII 值(美国信息交换标准代码)。例如,G 的 ASCII 值为 71,而 g 的值为 103。当进行比较时,g 会比 G 大。
  • python 比较字符串是从左到右挨个字符串比较
  • python 不同数据类型之间无法相互操作
print(100 + 200)
# 300

print("100" + "200")
# 100200

print(456 > 1234)
# False

print("456" > "1234")
# True 因为字符串的比较是从左到右挨个字符比较,先对比 4(ASCII值是52) 和 1(ASCII值是49),再对比5 和 2.
# 而且是按照ASCII值进行比较的,

print(len("456") > len("1234"))
# False

print(123 + "456")
# 不同数据类型之间无法相互操作
# Traceback (most recent call last):
#   File "/Users/apple/Desktop/zero-basics-python-master/zero-basics-python/python/01.py", line 23, in <module>
#     num6 = 123 + "456"
#            ~~~~^~~~~~~
# TypeError: unsupported operand type(s) for +: 'int' and 'str'

print(123 + int("1234"))

print("ABC" > "ABD" ) # False

print("ABC" > 123 ) 
# Traceback (most recent call last):
#   File "/Users/apple/Desktop/zero-basics-python-master/zero-basics-python/python/01.py", line 40, in <module>
#     print("ABC" > 123 )
#           ^^^^^^^^^^^
# TypeError: '>' not supported between instances of 'str' and 'int'

print(123.0 > 123 ) # False

print("123.0" > "123") # True

print("Hello" != "hello") # True
print("Hello" == "hello") # False
print("Hello" > "hello") # False
print("Hello" < "hello") # True
3、数字类型 — 整数(int)、浮点数(float)、复数(complex)
数字类型的常见运算
数字类型的强制转换
  • python是强类型编程语言(要自己指定要所使用的类型)
  • 使用 type() 函数可以得知对象的类型。例如:
  • int()、float() 函数可以进行数字类型之间的转换
  • str() 函数能够将数字转换为字符串
  • int() 函数可以将只含有整数的字符串转换为整数,否则报错
4、内置数字类型
常见数据类型

数据类型:int、float、complex(复数)
文本类型:str
序列类型:list、tuple(元组)、range
映射类型:dict

list常用内置函数

详细描述参考官方文档

list_demo = ['a', 'b', 'c', 'd', 'e', ['f','g']]
print(type(list_demo)) # 查看变量类型
print(list_demo)
# <class 'list'>
# ['a', 'b', 'c', 'd', 'e', ['f', 'g']]

list_demo.insert(0,"first") # 在第0的位置插入一个first字符串
print(list_demo)
# ['first', 'a', 'b', 'c', 'd', 'e', ['f', 'g']]

list_demo.insert(-1,"last") # 在-1的位置插入一个 last
print(list_demo)
# ['first', 'a', 'b', 'c', 'd', 'e', 'last', ['f', 'g']]

list_demo.append("last_one") # 将last_one 添加到序列的末尾
print(list_demo)
# ['first', 'a', 'b', 'c', 'd', 'e', 'last', ['f', 'g'], 'last_one']

list_demo.extend("last_one") # 或 list_demo += last_one。 用last_one的内容扩展 last_demo 
# list_demo += "last_one"
print(list_demo)
# ['first', 'a', 'b', 'c', 'd', 'e', 'last', ['f', 'g'], 'last_one', 'l', 'a', 's', 't', '_', 'o', 'n', 'e']

list_demo.remove("last_one") # 删除 list_demo 中的 last_one
print(list_demo)
# ['first', 'a', 'b', 'c', 'd', 'e', 'last', ['f', 'g'], 'l', 'a', 's', 't', '_', 'o', 'n', 'e']

# list_demo2 = []
result = list_demo.pop(0) # 提取在0位置上的项,并将其从中移除。如果位置为空会返回错误 IndexError: pop from empty list
print(f"list is {list_demo}")
print(f"result is {result}")
# list is ['a', 'b', 'c', 'd', 'e', 'last', ['f', 'g'], 'l', 'a', 's', 't', '_', 'o', 'n', 'e']
# result is first
tuple(元组)常用内置函数
color = ('r', 'g', 'b', 'g', 'b', 'b') # tuple
new_color = len(color) # len 返回集合中元素数量
print(new_color)
# 6

color = ('r', 'g', 'b', 'g', 'b', 'b') # tuple
new_color = set(color) # set 创建一个无序不重复元素集。
print(new_color)
# {'r', 'g', 'b'}

new_color_2 = tuple(new_color) #tuple 将列表转换成元组
print(new_color_2)
# ('r', 'g', 'b')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值