python个人笔记

这篇博客全面介绍了Python编程的基础知识,包括变量、运算符、数据结构(如字符串、列表、元组、集合、字典)及操作,还涉及类、文件和异常处理、多线程和多进程、网络编程以及numpy库的使用,适合Python初学者和进阶者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.基础知识

1.Python

Ⅰ.是什么

是一门编程语言

Ⅱ.能干嘛

目前Python在Web应用后端开发、云基础设施建设、DevOps、网络数据采集(爬虫)、自动化测试、数据分析、机器学习等领域都有着广泛的应用。

2.变量

Ⅰ.变量命名

  • 硬性规则:
    • 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
    • 大小写敏感(大写的a和小写的A是两个不同的变量)。
    • 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。

Ⅱ.使用

代码

a=10;
b=2;
print(a+b);print(a*b);print(a-b);
print(a/b);print(a**b);

效果

12
20
8
5.0
100

Ⅲ.变量类型检测与转换

代码

a=10;
b=2.1;
c='askdfjjkadfs'
d=4+2j;  #注意python只有j做复数单位
e=True;
print(type(a));print(type(b));print(type(c));
print(type(d));print(type(e));

效果

<class 'int'>
<class 'float'>
<class 'str'>
<class 'complex'>
<class 'bool'>

可以使用Python中内置的函数对变量类型进行转换。

  • int():将一个数值或字符串转换成整数,可以指定进制。
  • float():将一个字符串转换成浮点数。
  • str():将指定的对象转换成字符串形式,可以指定编码。
  • chr():将整数转换成该编码对应的字符串(一个字符)。
  • ord():将字符串(一个字符)转换成对应的编码(整数)。

3.运算符

Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。

运算符 描述
[] [:] 下标,切片
** 指数
~ + - 按位取反, 正负号
* / % // 乘,除,模,整除
+ - 加,减
>> << 右移,左移
& 按位与
^ \| 按位异或,按位或
<= < > >= 小于等于,小于,大于,大于等于
== != 等于,不等于
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
= += -= *= /= %= //= **= &= |= ^= >>= <<= (复合)赋值运算符

说明: 在实际开发中,如果搞不清楚运算符的优先级,可以使用括号来确保运算的执行顺序。

4.结构

Ⅰ.条件

结构

#结构1
if 条件:
语句;

#结构2
if 条件:
语句;
else:
语句;

#结构3
if 条件:
语句;
elif 条件:
语句;
:
:
:
else:
语句;

代码

"""
分段函数求值
        3x - 5  (x > 1)
f(x) =  x + 2   (-1 <= x <= 1)
        5x + 3  (x < -1)
"""
temp=float(input('x=?'));
if x > 1:
    y = 3 * x - 5
elif x >= -1:
    y = x + 2
else:
    y = 5 * x + 3
print('f(%.2f) = %.2f' % (x, y)) #格式化输入

效果

#实际输入而定

Ⅱ.循环

结构

#for-in
for 变量 in 迭代范围:
	变量的变化;

#while 
while 真假:
	语句;

代码

"""
用for循环实现1~100之间的偶数求和
"""
sum=0
for i in range(1,101):
	if i%2==0:
		sum=sum+i;
print(sum);	

效果

2550
  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

5.导入

说明

from(来自) 那个文件名 import(导入)  类或者函数

例子

from cat import Cat,people  #从cat文件导入Cat和people类或者函数
from cat import * #从cat文件导入所有类
import cat #导入这个文件

实际应用

from random import choice  #获取random的choice方法

二.常用数据结构

1.字符串

Ⅰ.首字母大写

代码

a='ni hao';
a.title();

效果

'Python Abc'

Ⅱ.全部大写或小写

代码

a='Wi Wao';
a.upper();
a.lower();

效果

'WI WAO'
'wi wao'

Ⅲ.删除空白

代码

a='  Python abc  ';
a.strip(); #两头都删除空格
a.rstrip(); #删除后面空格
a.lstrip(); #删除前面空格

效果

'Python abc'
'  Python abc'
'Python abc  '

Ⅳ.练习

设计一个函数产生指定长度的验证码,验证码由大小写字母和数字构成。

代码

from random import choice 
def main(code_len=10):
    a='';
    all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    while code_len:
        a=a+choice(all_chars);
        code_len=code_len-1;
    print(a);

main(4)

效果

#实际效果而定

2.列表

Ⅰ.列表的基本操作

是一个类似数组的容器,但是存东西的能力强大,访问方式通过索引的方式
索引

代码

a=[' Python ','c++','java'];
a[0];
a[-1];
a[-2]; #逆序索引也是可以的呀
a[0].strip();

效果

' Python '
'java'
'c++'
'Python'
修改

代码

a=[' Python ','c++','java'];
a[0]='c#';
a;

效果

['c#', 'c++', 'java'];
扩展
a=[' Python ','c++','java'];
a.append('php');
a;

效果

['Python', 'c++', 'java','php']
插入(按位置插入)
a=[' Python ','c++','java'];
a.insert(1,'php'); #注意插入的位置就是就是它最后所在位置
a;

效果

['Python', 'php', 'c++','java']
删除

del 可以删除变量或者元素,注意:del a直接把列表删除了。

代码

a=[' Python ','c++','java'];
del a[1];
a;

效果

['Python','java']
弹出任意位置元素

代码

a=[' Python ','c++','java','C#','php','html'];
a.pop();    #默认最后一个
a.pop(0);
a.pop(-1);
a;

效果

['c++','java','c#']
删除指定的字符

注意:只能删除一个,多个就循环

代码

a=[' Python ','html','html','C#','php','html'];
a.remove('html');
a.remove('html');
a

效果

[' Python ',C#','php','html']

Ⅱ.列表的组织

排序

注意:按照字母表排序,而且是根本性改变元组顺序

代码

a=[' Python ','html','html','C#','php','html'];
a.sort();
a;

效果

[' Python ', 'C#', 'html', 'html', 'html', 'php']
反转

代码

a=[' Python ','html','html','C#','php','html'];
a.reverse();
a;

效果

['html', 'php', 'C#', 'html', 'html', ' Python ']
长度

代码

a=[' Python ','html','html','C#','php','html'];
a.len();
a;

效果

6

Ⅲ操作列表

循环

代码

a=[' Python ','html','html','C#','php','html'];
for _ in a:
    print(_);

效果

 Python 
html
html
C#
php
html
范围range(开始,结束,步长)

代码

for _ in range(1,10,2):
    print(_);

效果

1
3
5
7
9
列表

代码

a=list(range(5));
a;

效果

[0, 1, 2, 3, 4]
应用

代码

a=[];
for i in range(1,30,2):
    a.append(i**2);
a;

效果

[1, 9, 25, 49, 81, 121, 169, 225, 289, 361, 441, 529, 625, 729, 841]
常见计算(最大最小和还有和)

代码

a=[0, 1, 2, 3, 4, 1, 16, 49, 100, 169, 256, 361, 484, 625, 784];
min(a);
max(a);
sum(a);

效果

0
784
2855
列表解析(a=[变量 循环 条件])

代码

a=[t**2 for t in range(10) if t%2==1];
a;

效果

[1, 9, 25, 49, 81]
切片(划分子集)

代码

a=[0, 1, 2, 3, 4, 1, 16, 49, 100, 169, 256, 361, 484, 625, 784]
a[1:4];
a[4:];      #到末尾
a[:5];      #重开头开始
a[-3:];     #后3位
a[-3:-1]    #不包括-1

效果

[1, 2, 3]
[4, 1, 16, 49, 100, 169, 256, 361, 484, 625, 784]
[0, 1, 2, 3, 4]
[484, 625, 784]
[484, 625]

3.元组

Ⅰ. 元组的基本操作

元组既是不可变得列表
索引和修改

代码

a=(' Python ','c++','java');
a[0];
a[-1];
a[-2]; #逆序索引也是可以的呀
a[0]=123; #修改是不被允许的

效果

' Python '
'java'
'c++'
'Python'
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    a[0]='123'
TypeError: 'tuple' object does not support item assignment

4.集合

Ⅰ.集合的创建

代码

#方式一
a={
   
   1,2,3,2,3,1};
print(a);
print(len(a)); #集合没有重复元素
#方式二:放列表或者放元组
set([1,2,3,4,3,2,1]);
set((1,2,3,4,3,2,1));

效果

{
   
   1, 2, 3}
3

Ⅱ.集合的操作

代码

a=set((1,2,3,3,2,1))
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值