Python的使用

1、打印:print('hello')

2、Python的除法是数学意义上的除法 print(2/3) 输出:0.6666...

3、a=18 a='hello' print(a) 可以直接输出

4、**2 表示2的平方

5、打印类型 print(type(a))

6、基本数据类型(Python中的变量类型不需要定义变量的时候声明,根据初始化的类型自行进行确定)

(1)int 整数 表示的范围可以自动扩容,范围是无穷的

(2)float(也是双精度的等同于java的double) 小数,浮点数

(3)str 字符串类型 a='hello'或a="hello"都可以 如果我们想在一个字符串里面还有字符串 我们可以写成 'MY name is "zhangsan"' 单引号套着双引号,也可以双引号套着单引号 如果我们的语句里又有单引号又有双引号可以写成 '''my 'name' is "hello"'''

(4)bool 布尔类型 只有真True和假False

7、查看字符串的长度: print(len(d)) 输出d字符串的长度

8、字符串拼接 a1='hello' a2='word' print(a1+a2) 不能字符串类型和数字类型混合相加

9、类型声明: a:int 但是a不会因为声明就无法动态转换类型

10、注释:

(1)注释行:#

(2)""" """

(3)批量注释(批量取消注释):

(3.1)选中要注释的代码

(3.2)使用ctrl+/

11、打印a=10这个内容(格式化字符串)

也可以

12、通过控制台来输入函数(实际上此时的num是个str类型)

13、强制类型转换

(1)a=int(a)

(2)a=str(a)

(3)a=float(a)

14、两个数字相加

(1)

python 复制代码
a=input("请输入第一个整数:")
b=input("请输入第二个整数:")
a=int(a)
b=int(b)
print(f"您输入的数字是{a+b}")

(2)如果不转换类型就是字符串拼接

python 复制代码
a=input("请输入第一个整数:")
b=input("请输入第二个整数:")
print(f"您输入的数字是{a+b}")

15、运算符的使用

(1)% 求余数

(2)** 进行乘方运算(能够支持整数也支持小数 **0.5 **2)

(3)/ 除数 不能以0为底

(4)// 地板除法(取整除法,向下取整) 7//2 输出3 -7//2 输出 -4

16、关系运算符(对应的表达式是布尔类型,表达式符合要求为真,不符合要求为假)

(1)<= 小于等于

(2)>= 大于等于

(3)== 等于(可以比较内容)

(4)!= 不等于

17、关系运算符不光可以针对数字进行比较,还能比较字符串

(1)比较的是按字典序

(2)也可以比较中文,不过用处不大

18、当用==比较浮点数时候我们需要注意是有误差的 0.1+0.2==0.3 可能是False因为是有小量误差 我们可以写成 -0.00001<0.2+0.1-0.3<0.000001

19、逻辑运算符(当第一个表达式判定成功,第二个表达式就不用再进行判断了)短路求值

(1)and 并且(一假则假)

(2)or 或者

(3)not 相反

20、多元赋值

(1)a,b=10,20

21、变量交换

(1)a,b=b,a

22、运算式

(1)a+=1 等于 a=a+1

(2)*= /= -= **= //= %= 都类似(1)

22、不支持 ++ --这种操作

23、if判断语句

python 复制代码
num=input("请输入数")
if num=='1':
    print("输入的是1")
elif num=='2':
    print("输入的是2")
else:
    print("不知道输入的啥")

24、注意我们的python非常注重换行

(1)两个输出分开执行

python 复制代码
num=input("请输入数")
if num=='1':
    print("输入的是1")
print("你输入的是2")

(2)两个输出一起执行

python 复制代码
num=input("请输入数")
if num=='1':
    print("输入的是1")
    print("你输入的是2")

(3)非法情况

25、if嵌套使用

python 复制代码
num1=input("请输入数")
num2=input("请输入")
if num1=='1':
    if num2=='2':
        print("num1=1 并且 num2=2")
    print("num1=1 num2!=2")
print("num1!=1  num2!=2")

26、输入的 a=input(" 请输入a的值") a=int(a) 可以写成 a=int(input(" 请输入a的值"))

27、-19%2 也等于1

28、if判断下面要有需要执行的语句不然会报错,如果实在不想写东西可以写一个pass

python 复制代码
num1=input("请输入数")
if num1=='1':
    pass
else:
    pass

29、while循环语句(打印1-10)

python 复制代码
num1=1
while num1<=10:
    print(num1)
    num1=num1+1

30、for循环

(1)打印1-10

python 复制代码
for i in range(1,11):
    print(i)

(2)设置步长,默认步长是1(打印2,4,6,8,10)

python 复制代码
for i in range(2,11,2):
    print(i)

(3)反着打印(10-1)

python 复制代码
for i in range(10,0,-1):
    print(i)

31、批量修改变量名:shift+F6

32、结束循环

(1)continue 立即结束当前循环进入下次循环

(2)break 立即结束整个循环

33、生成随机数:random.randint(1,6) 生成一个从一到六的随机数,这个是前闭后闭区间[1,6]

34、有的方法我们不能直接用,需要导入包import 有的会自动导入,有的需要手动导入

35、退出执行程序

36、暂停一秒在执行

python 复制代码
import time
time.sleep(1)

37、定义函数,调用函数(求1-100的和)

python 复制代码
#定义函数
def calcSum(beg,end):
    theSum=0
    for i in range(beg,end+1):
        theSum=theSum+i
    print(theSum)
#调用函数
calcSum(1,100)

38、我们定义的函数结构体

(1)def 函数名(形参列表):

(2)函数体

(3)return 返回值(可以有可以没有)

39、函数调用

(1)函数名(实参列表)

(2)返回值=函数名(实参列表) (有返回值的情况下,没返回值就用(1))

40、也可以进行无参数定义调用(不调用函数不会执行)

python 复制代码
def test():
    print("11111")
test()

41、 可以多次调用

python 复制代码
def test():
    print("11111")
test()
test()
test()
test()

42、注意定义的形参数要和实参数对应的上,数量要一样,对应上的参数要符合运算规范

43、返回值函数的应用(运算10+20)

python 复制代码
def test(a,b):
    return a+b
num=test(10,20)
print(num)

44、多元赋值

(1)两个值都要

python 复制代码
def test():
    a=10
    b=20
    return a,b
c,d=test()
print(c,d)

(2)只要b赋值给d

python 复制代码
def test():
    a=10
    b=20
    return a,b
_,d=test()
print(d)

45、函数名相同但是是不同变量,函数里面的a,b和外面的a,b不一样

(1)

python 复制代码
def test():
    a=10
    b=20
    return a,b
a,b=test()
print(a,b)

(2)举例(x=10是全局变量,函数内部的属于局部变量)全局变量在整个程序中有效,局部变量只在函数内部有效

python 复制代码
x=10
def test():
    x=20
    print(f'函数里面的X={x}')
test()
print(f'函数外面的X={x}')

(3)如果我们没在函数内部定义x我们就会输出全局变量的x如果全局也没x就会报错

python 复制代码
x=10
def test():
    print(f'函数里面的X={x}')
test()

(4)可以将我们的函数内部的局部变量,修改为全局变量(global)

python 复制代码
x=10
def test():
    global x
    x=20
    print(f'函数里面的X={x}')
test()
print(f'函数外面的X={x}')

46、在python里面只有函数和类会涉及到作用域,我们的if和for等代码块定义的i我们可以直接在for外面进行输出

举例:

python 复制代码
for i in range(1,11):
    print(i)
print("-------------")
print(i)

47、递归调用(求5的阶乘)

python 复制代码
def factor(n):
    if n==1:
        return 1
    return n*factor(n-1)
print(factor(5))

48、我们在定义默认参数时候(不能把非默认参数放到默认参数后面)

(1)add(x,y,flg=False) 正确

(2)add(x,flg=False,y) 错误

49、传递参数可以不按顺序传不过要加上参数名

python 复制代码
def add(x,y):
    return x+y
num=add(y=10,x=20)
print(num)

50、列表和元组

(1)列表:可变的,创建之后能改

(2)元组:不可变,创建好之后改不了,除非创建新元组

51、创建列表

(1)a=[ ]

(2)a=list()

(3)创建列表时设置初始值 a=[1,2,3]

(4)列表里的值是无限制的 a=[1,'hello',True,[1,2,3]]

52、下标访问列表

(1)a[2] 下标从0开始算 a[2]表示获取列表第三个数

53、下标修改元素 (a=[1,2,3,4])

(1)a[2]=100 输出 [1,2,100,4]

54、求字符串,列表,元组,字典,自定义类等长度

(1)len(要求的名)

55、表示列表最后一个元素

(1)a[len(a)-1]

(2)a[-1]

56、切片操作

(1)左闭右开

python 复制代码
a=[1,2,3,4]
print(a[1:3])

(2)从下标1开始取到最后(省略后边界)

python 复制代码
a=[1,2,3,4]
print(a[1:])

(3)省略前边界(从0下标开始取)

python 复制代码
a=[1,2,3,4]
print(a[:2])

(4)前后都省略掉,得到完整列表

python 复制代码
a=[1,2,3,4]
print(a[:])

(5)带有步长的切片操作(每隔5个元素取一次)

python 复制代码
a=[1,2,3,4,5,6,7,8,9]
print(a[::5])

(6)从一开始到七每隔5个元素取一次

python 复制代码
a=[1,2,3,4,5,6,7,8,9]
print(a[1:7:5])

(7)倒着取元素

python 复制代码
a=[1,2,3,4,5,6,7,8,9]
print(a[::-1])

57、遍历列表

(1)对元素进行更改时候不能用,因为更改的是 i 不是列表 a

python 复制代码
a=[1,2,3,4,5,6,7,8,9]
for i in a:
    print(i)

(2)当我们需要对元素进行更改时候要用这个或(3)

python 复制代码
a=[1,2,3,4]
for i in range(0,len(a)):
    print(a[i])

(3)同(2)的描述

python 复制代码
a=[1,2,3,4]
i=0
while i<len(a):
    print(a[i])
    i=i+1

58、往列表新插元素

(1)往末尾插(append)

python 复制代码
a=[1,2,3,4]
a.append(5)
a.append('hello')
print(a)

(2)任意位置新增(insert)insert有两个元素第一个往哪里插,第二个插入啥元素

python 复制代码
a=[1,2,3,4]
a.insert(1,'hello')
print(a)

(3)如果insert过大就插入到最后

python 复制代码
a=[1,2,3,4]
a.insert(100,'hello')
print(a)

59、判断元素是否在列表中存在

(1)判断存在

python 复制代码
a=[1,2,3,4]
print(1 in a)

(2)判断不存在

python 复制代码
a=[1,2,3,4]
print(1 not in a)

60、使用index方法判定元素在列表中的位置

python 复制代码
a=[1,2,3,4]
print(a.index(2))

61、删除列表的元素

(1)删除最后的元素pop

python 复制代码
a=[1,2,3,4]
a.pop()
print(a)

(2)删除任意位置元素pop

python 复制代码
a=[1,2,3,4]
a.pop(1)
print(a)

(3)按照元素值来删除 remove

python 复制代码
a=[1,2,3,4]
a.remove(2)
print(a)

62、列表拼接

(1)不修改列表a和b的内容(低效)

python 复制代码
a=[1,2,3,4]
b=[5,6,7,8]
c=a+b
print(c)

(2)修改内容,把后一个列表内容拼接到前一个里面(高效)

python 复制代码
a=[1,2,3,4]
b=[5,6,7,8]
a.extend(b)
print(a)

63、创建元组

(1)a=()

(2)a=tuple()

(3)创建元组并给初始值 a=(1,2,3,4) 和列表一样可以是任意类型

64、通过下标来访问元组

(1)也是从0开始到len-1结束(也可以是负数,负数就是倒着取)

python 复制代码
a=(1,2,3,4)
print(a[1])

65、元组切片(和列表操作一样)

python 复制代码
a=(1,2,3,4)
print(a[1:3])

66、遍历元组和列表一样

67、判断元素是否存在,查找元素下标也跟列表一样

68、可以用+来拼接两个元组,不支持修改操作

(1)append,pop,extend都是不可以使用的

69、在我们上面讲到的多元赋值其实就是用元组的方式进行工作的

70、元组主要的就是只读操作,不可以写(多人协作开发时用处很大),元组是不可变对象,是可以哈希的

71、字典(一种存储的键值对结构,key:value的形式,id:1)

72、创建字典

(1)创建空字典

(1.1)a={}

(1.2)a=dict()

(2)创建有内容的字典

python 复制代码
a={
    'id':1,
    'name':'zhangsan'
}
print(a)

73、查找key是否在字典中(不能用此方法查value)

(1)查找存在用 in

python 复制代码
a={
    'id':1,
    'name':'zhangsan'
}
print('id' in a)

(2)查找不存在用 not in

74、根据key获取value

(1)当key为str类型

python 复制代码
a={
    'id':1,
    'name':'zhangsan'
}
print(a['id'])

(2)key也可以是int类型

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
print(a[100])

75、对于列表来说in是比较低效的(遍历整个列表),对于字典来说in是高效的(字典背后用了哈希表)

76、字典的新增操作

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
a['sex']=1
print(a)

77、在字典中根据key修改value(如果key不存在新增,如果key存在就修改)

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
a['id']=10
print(a)

78、 字典中删除操作

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
a.pop(100)
print(a)

79、遍历字典(谁在第一先遍历谁,谁先插入进来先遍历谁)

(1)

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
for key in a:
    print(key,a[key])

(2)keys获取到字典中的所有key

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
print(a.keys())

(3)values获取到字典中的所有values

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
print(a.values())

(4)items获取到字典中的所有键值对

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
print(a.items())

(5)遍历key和value

python 复制代码
a={
    'id':1,
    'name':'zhangsan',
    100:'lisi'
}
for key,value in a.items():
    print(key,value)

80、合法的key类型

(1)可hash类型(可以为key的)int str bool tuple float

(2)不可hash类型(不可以为key的):list dict

81、文件操作

(1)文件路径:举例:D:/program/qq/Bin/QQ.exe(路径是指在硬盘上的详细位置)( / 和 \ 都行)

(2)打开文件(读):open('D:/python/test.txt','r')(第一个参数是打开哪个文件,第二个 r 是打开方式,r表示read,按读方式打开,w 表示write表示按写的方式打开,a表示写的方式打开,不过是在原有内容的末尾写,追加写) open('D:/python/test.txt','r')是有返回值的我们可以接收一下 f=open('D:/python/test.txt','r')此处的 f 就是文件对象,相当于遥控器,操作 f 就可以了

(3)关闭文件(文件打开完是一定要关闭的,为了释放系统资源):f.close()

(4)我们的python中有自带的垃圾回收机制,会自动把我们不用的文件进行回收

(5)打开文件(写):w会清空前面写的内容

python 复制代码
f=open('D:/python/test.txt','w')
f.write('hello')
f.close()

(6)打开方式(追加写):不会清除前面已经写的内容

python 复制代码
f=open('D:/python/test.txt','a')
f.write('word')
f.close()

(7)加\n是换行

python 复制代码
f=open('D:/python/test.txt','a')
f.write('word\n')
f.close()

82、读文件(我们的python一般是按gbk的方式读,我们需要改成utf8)

(1)读两个字节,相当于读两个汉字

python 复制代码
f=open('D:/python/test.txt','r',encoding='utf8')
result=f.read(2)
print(result)
f.close()

(2)按行来读

python 复制代码
f=open('D:/python/test.txt','r',encoding='utf8')
for line in f:
    print(f'line={line}')
f.close()

(3)按照(2)打印出来会有空行,我们可以把print的默认空行取消

python 复制代码
f=open('D:/python/test.txt','r',encoding='utf8')
for line in f:
    print(f'line={line}',end='')
f.close()

(4)使用readlines方法直接把整个文件内容都读出来,按照行组织到一个列表里

python 复制代码
f=open('D:/python/test.txt','r',encoding='utf8')
line=f.readlines()
print(line)
f.close()

83、上下文管理器(可以避免我们在close文件前有return导致文件没法正常关闭)

(1)自动关闭文件,调用with代码块结束自动close(不在怕return)

python 复制代码
def func():
    with open('D:/python/test.txt','r',encoding='utf8') as f:
        #要执行的代码

84、使用库

(1)标准库(python自带的库)

(2)第三方库(其他人做出来的)

85、使用第三方库计算日期

(1)写法1

python 复制代码
import datetime
date1=datetime.datetime(2024,2,14)
date2=datetime.datetime(2030,10,1)
print(date2-date1)

(2)写法2

python 复制代码
from datetime import datetime
date1=datetime(2024,2,14)
date2=datetime(2030,10,1)
print(date2-date1)

(3)写法3

python 复制代码
import datetime as dt
date1=dt.datetime(2024,2,14)
date2=dt.datetime(2030,10,1)
print(date2-date1)

86、代码案例(逆置字符串)

python 复制代码
def reverseWords(s:str):#给s指定类型
    tokens=s.split(' ')  #空格做分割截取
    tokens.reverse() #逆置截取的字符
    return ' '.join(tokens)#调用空格的join方法进行拼接
print(reverseWords('hello word'))
相关推荐
databook13 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar14 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805114 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_15 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机21 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机1 天前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i1 天前
drf初步梳理
python·django
每日AI新事件1 天前
python的异步函数
python