Python解释器:运行代码,翻译代码的工具;
Windows&IOS操作系统:使用PyCharm代码编辑器,写代码的工具;
对编程语言的了解(主流编程语言):
前端(HTML、CSS、JavaScript)
Java:市场稳定,学的人多,会的人太多,行业现状,一个字卷;
C/C++:比较难,先学C语言,再递进C++,C++能做硬件开发(芯片、单片机、嵌入式)
C#:为了取代Java而研发的开发语言,微软公司为了取代Java而研发的编程语言,大部分是模仿了Java和C语言,没有被取代,反而被应用;
go语言(go lang)
PHP:曾经(PHP是全世界最好的编程语言),现在(Python是全世界最好的编程语言)
Python
小白需要注意的问题:
print()函数每次都在新行上打印,这是由于Python文档中的print()定义决定的;print注释(代码太多,很容易忘记,就可以写上相关注释)
注释是给开发人员看的. 不会参与程序的运行
python有两种注释方式:
单行注释 --> 用#符号表示.在#后面的内容都是注释
多行注释 --> 用一对三引号包裹着的内容(单引/双引都可)
# 创建简单表格
print("""
被创建之后,能够输出,内容,显示多行内容的作用
---------个人信息表格---------
姓名:小明
年龄:18
性别:男
学习:自由大学
兴趣爱好:羽毛球,散步,篮球,驾车
""")
输出结果:
被创建之后,能够输出,内容,显示多行内容的作用
---------个人信息表格---------
姓名:小明
年龄:18
性别:男
学习:自由大学
兴趣爱好:羽毛球,散步,篮球,驾车
语法格式: 变量名 = 变量值
实例
# 变量
home = '云南省曲靖市麒麟区白泥破小康城'
number = 199*******2154
语法格式:print(变量名)
实例
print(home)
print(number)
1. 一般是有数字、字母、下划线组成 (中文可以,但不推荐) 2. 首字符不能是数字,不能数字开头 3. 符号只能用下划线,不能用其他符号 4. 不要用/不推荐用关键字,有特别含义的数据命名 强调: 不要给变量命名为 print input这些名字 5. 见名知意 --> 一眼可以看出来,这个数据有什么用
比较好用的命名方式--》驼峰命名法
大驼峰--》每个单词首字母都大写; UserName 用户名
小驼峰--》第一个单词不变,后面的单词首字母大写; userName
下划线--》不同的单词用下划线分割,全部小写; user_name user_age
Python3 中常见的数据类型有:
Python的六种数据类型中,不可变数据类型:Number(数字)、String(字符串)、Tuple(元组);可变数据类型:List(列表)、Dictionary(字典)、Set(集合)。
int整型/整数 没有小数点的数据
age = 18
float浮点型/小数 带小数的数字
height = 165.5
bool布尔类型,判断类型:布尔类型主要是用来做判断的一种类型,只有两个值,用True表示真.,用False表示假;
1+1 > 2#False
complex(复数)
复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
comNumber = 3 + 5j
print(comNumber)
基本算数运算符
+ - *(乘) /(除)
% 取余数 10%3= 1
// 整除 10//3=3
** 取幂 3**3 --> 3*3*3 = 27
注意:
数值类型实例:
Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 **** 转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。

加号 + 是字符串的连接符, 星号 ***** 表示复制当前字符串,与之结合的数字为复制的次数。实例如下:
strs = 'Runoob'# 定义一个字符串变量
print(strs) # 打印整个字符串
print(strs[0:-1]) # 打印字符串第一个到倒数第二个字符(不包含倒数第一个字符)
print(strs[0]) # 打印字符串的第一个字符
print(strs[2:5]) # 打印字符串第三到第五个字符(不包含索引为 5 的字符)
print(strs[2:]) # 打印字符串从第三个字符开始到末尾
print(strs * 2) # 打印字符串两次
print(strs + "TEST") # 打印字符串和"TEST"拼接在一起
输出结果:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
talk=['美女', 18, True, 22.5]
tup = (12)
print(tup)
print(type(tup))
tup1 = (12,)
print(tup1)
print(type(tup1))
输出结果:
12
<class'int'>
(12,)
<class'tuple'>

Python的索引(Indexing)是访问序列类型(如字符串、列表、元组等)中单个元素的核心机制。
Python的索引从0开始计数:
# 索引
text = 'Python'
# 索引: 0 1 2 3 4 5
# 字符: P y t h o n
print(text[0]) # 'P'
print(text[3]) # 'h'
负索引(反向索引):
从末尾开始计数,-1表示最后一个元素:
text = 'Python'
# 索引: -6 -5 -4 -3 -2 -1
# 字符: P y t h o n
print(text[-1]) # 'n'
print(text[-3]) # 'h'
可索引的数据类型:
str | ||
list | ||
tuple | ||
bytes | ||
bytearray | ||
dict | ||
set |
使用 [start:stop:step] 语法获取子序列:
[a:b] | |
[:b] | |
[a:] | |
[::2] | |
[::-1] |
切片的细节:
strs = 'Runoob'# 定义一个字符串变量
print(strs) # 打印整个字符串 Runoob
print(strs[0:-1]) # 打印字符串第一个到倒数第二个字符(不包含倒数第一个字符) Runoo
print(strs[0]) # 打印字符串的第一个字符 R
print(strs[2:5]) # 打印字符串第三到第五个字符(不包含索引为 5 的字符) noo
print(strs[2:]) # 打印字符串从第三个字符开始到末尾 noob
Python 的数据类型转换分为隐式转换(自动)和显式转换(手动)。
类型转换两种类型:自我转换(Bool类型);
强制转换(需要在合法的情况下才能进行转换);
隐式转换(自动)Python在运算时,通常向更精确的类型转换:
# int + float → float
result = 3 + 2.5# 5.5 (int 自动转为 float)
# int + bool → int (True=1, False=0)
result = 5 + True# 6
# 字符串拼接不会隐式转换
"年龄:" + 25# ❌ TypeError,需要显式转换
显式转换(强制类型转换)int(x) | int("42")42 | |
float(x) | float("3.14")3.14 | |
str(x) | str(100)"100" | |
bool(x) | bool(0)False |
# 字符串 ↔ 数字
int("100") # 100
int("100", 16) # 256 (按16进制解析)
float("3.14") # 3.14
str(3.14159) # "3.14159"
# 布尔转换(只有0、空值、None为False)
bool(0) # False
bool("") # False
bool([]) # False
bool(None) # False
bool(1) # True
bool("hello") # True
# 转列表
list("abc") # ['a', 'b', 'c']
list((1, 2, 3)) # [1, 2, 3]
list({"a": 1, "b": 2}) # ['a', 'b'] (仅取键)
# 转元组
tuple([1, 2, 3]) # (1, 2, 3)
# 转集合(去重)
set([1, 2, 2, 3]) # {1, 2, 3}
# 转字典(需要键值对序列)
dict([("a", 1), ("b", 2)]) # {'a': 1, 'b': 2}
# 字符串 ↔ bytes
"你好".encode('utf-8') # b'\xe4\xbd\xa0\xe5\xa5\xbd'
b'\xe4\xbd\xa0'.decode('utf-8') # '你'
# 其他类型 ↔ bytes
bytes([65, 66, 67]) # b'ABC'
bytearray(b'hello') # bytearray(b'hello')
# 十六进制
bytes.fromhex('48656c6c6f') # b'Hello'
b'Hello'.hex() # '48656c6c6f'
# eval() - 解析字符串为 Python 表达式(⚠️ 有安全风险)
eval("[1, 2, 3]") # [1, 2, 3]
eval("{'a': 1}") # {'a': 1}
# ast.literal_eval() - 更安全的解析
import ast
ast.literal_eval("[1, 2, 3]") # [1, 2, 3]
# json 转换(常用于 API 数据处理)
import json
json.dumps({"a": 1}) # '{"a": 1}' (dict → str)
json.loads('{"a": 1}') # {'a': 1} (str → dict)
int("3.14") # ❌ ValueError(先转 float 再转 int)
int(float("3.14")) # ✅ 3
int("abc") # ❌ ValueError
int("abc", 16) # ✅ 2748 (按16进制解析)
float("inf") # ✅ inf (无穷大)
float("nan") # ✅ nan (非数字)
原始类型 → 目标类型
─────────────────────────
str → int/floatint("123") / float("1.5")
int/float → strstr(123)
list → tuple/settuple([1,2]) / set([1,2])
tuple → list/setlist((1,2)) / set((1,2))
dict → listlist(d) → 所有键
str → listlist("abc") → ['a','b','c']
bytes → str b.decode('utf-8')
str → bytes s.encode('utf-8')