云计算百科
云计算领域专业知识百科平台

Python自用笔记(不断修改版)

python记录

  • 一、零碎点
    • 1、命名法
    • 2、乘方**
    • 3、注释
    • 4、条件语句
    • 5、逻辑运算and、or、not
    • 6、方法和函数
    • 7、for循环
    • 8、format方法
    • 9、引用模块
    • 10、异常处理
  • 二、变量类型
    • 1、变量
    • 2、字符串str
      • ①特定位置
      • ②长度
    • 3、空值类型NoneType
    • 4、列表list[ ]
    • 5、字典dict{ }
    • 6、元组tuple()
  • 三、函数
    • 1、type()
    • 2、input()
    • 3、自定义函数def
  • 四、类
    • 1、定义
    • 2、继承
  • 五、文件
    • 1、打开文件open() + 读取文件
    • 2、关闭文件
    • 3、读取文件

一、零碎点

1、命名法

python命名法一般采用下划线命名法: ①字母小写 ②下划线分割单词

user_name = "Amy"

①驼峰命名法:单词用首字母大写分隔,UserName ②变量名是大小写敏感的,user_name ≠ User_Name

2、乘方**

print(2**3)

在这里插入图片描述

3、注释

#单行注释
# ctrl+/: 多行注释
#''' 三引号多行注释 '''

4、条件语句

if [条件]:
[执行语句]
[执行语句]
else:
[执行语句]

5、逻辑运算and、or、not

python中不存在&&、||、! 这些操作符,取而代之的是and、or、not

if(a and b or c)

在这里插入图片描述

6、方法和函数

方法:对象.方法名(…)  eg: demo_list.append(“a”)、string.super() 函数:函数名(对象)  eg: len(demo_list)

7、for循环

for 变量名 in 可迭代对象

stu = {'小明':"001", '小美':"002",'小新':"003"}

for stu_name, stu_id in stu.items():
print(stu_name)

搭配range()函数使用:

for i in range(5,10):#5,6,7,8,9
print(i)

for i in range(5,10,2):#5,7,9(起始值,结束值,步长)
print(i)

8、format方法

#1、
message_content = ''' 新春大吉,{0}年快乐,给{1}拜年了!'''.format(year,name)

#2、
message_content = ''' 新春大吉,{year}年快乐,给{name}拜年了!'''.format(current_year=year,current_name=name)

#3、
message_content = f"""新春大吉,{year}年快乐,给{name}拜年了!"""

在这里插入图片描述

#例子:
gpa_dict = {'小明':3.251, '小花':3.869, '小李':2.683, "小张":3.685}
for name, gpa in gpa_dict.items():
print("{0}你好,你的当前绩点为:{1:.2f}".format(name,gpa)) #按浮点数两位进行输出

在这里插入图片描述

9、引用模块

①内置函数,如sum(),print()这些常用的不要引用 ②不常用的就要引用 ③第三方模块(需要安装pip install+引入)——> 内置模块(需要引入import)——> 内置函数无需引入

#1、import 库名
import statistics
print(statistics.madian([19, 5, 36]))

#2、from 库名 import 模块
from statistics import madian, mean
print(median([19, 5, 36]))

#from 库名 import *
from statistics import *
print(median([19, 5, 36]))#和第二种相似,但不推荐,因为所有都导入进来,包括用不到的模块

10、异常处理

try – except – else – finally在这里插入图片描述

二、变量类型

1、变量

python是动态类型语言,定义变量无需显式声明类型,变量的类型由赋值符号右侧的值在运行时自动推导。

a = 5
b = "abc"

不可变类型:int、float、bool、str、元组tuple() 可变类型:列表list、字典dict

2、字符串str

①特定位置

在这里插入图片描述

②长度

在这里插入图片描述

3、空值类型NoneType

作用:表示完全没有值,如果未确定值,先定义为None None ≠ 0  None ≠ “”  None ≠ False   

4、列表list[ ]

python列表可以放不同类型的数据

list1 = ["a", "b", "c",5,True]
list1.append('d')#添加
list1.remove('d')#删除
len(list1)#列表长度
list[1]#列表指定位置,输出为'b'

price = [100,98,25]
max_price = max(price)
min_price = min(price)

5、字典dict{ }

①键值对 ②键是不可变类型,元组可以作为键 ③字典是可变类型

stu = {'小明':"001", '小美':"002"}
print(stu['小明'])

#元组设置多个限制条件
stu = {('小明',23):"001", ('小美',25):"002"}
print(stu['小美',25])

#添加
stu['小强'] = '003'

#修改
stu['小强'] = '005'

#判断键是否存在
print('小强' in stu)

#删除,键需要存在
del stu['小强']

#长度
print(len(stu))

stu.keys()#所有键
stu.values()#所有值
stu.items()#所有键值对

在这里插入图片描述

6、元组tuple()

不可变却很像列表的数据结构,是不可变类型

user_name = ('小明', '小美')
user_name.append('小娇')#❌,不可变类型

三、函数

1、type()

作用:得到数据类型

type("Hello World!")#<class 'str'>
type(True)#<class 'bool'>
type(None)#<class 'NoneType'>

2、input()

作用:(给出提示信息),获取输入,input返回值是字符串4 在这里插入图片描述

3、自定义函数def

def 函数名(变量1, 变量2, 变量3):
#代码
return 返回值#无则返回为None

在这里插入图片描述

四、类

1、定义

class CuteCat:#类名用Pascal命名法: UserAccount、CustomerOrder
#左右都有两条下划线
#self表示对象自身,把属性值绑定在实例对象上,
#…表示设置的参数
def __init__(self,cat_name,...):
#构造函数,方法会自动进行
self.name = cat_name
#name = "Amy" 则python会认为只是普通的变量赋值,不会把这个值

def speak(self):
print("喵")

#调用对象
cat1 = CuteCat("Amy")
print(cat1.name)

2、继承

#父类
class Mammal:
def __init__(self, name,sex):
self.name = name
self.sex = sex
self.num_eyes = 2

def breathe(self):
print(self.name + " is breathed")

def poop(self):
print(self.name + " is pooped")

#子类Human
class Human(Mammal):
def __init__(self,name,sex):
super().__init__(name,sex) #先使用父类的构造方法
self.has_tail = False

def read(self):
print(self.name + " is reading")

#子类Cat
class Cat(Mammal):
def __init__(self,name,sex):
super().__init__(name,sex)
self.has_tail = True

def scratch_sofa(self):
print(self.name + " is scratch sofa")

#创建对象
cat1 = Cat("amy","male")
print(cat1.name)
cat1.poop()

五、文件

①pycharm找文件路径: 在这里插入图片描述 ②模式 r: 读取模式(只读)—— 文件不存在报错 w: 写入模式(只写)——文件不存在,自动创建

③编码方式 encoding一般为UTF-8

1、打开文件open() + 读取文件

#必须用utf-8,不然会解析成GBK
#没有r在路径前,可能警告SyntaxWarning: invalid escape sequence '\\p'反斜杠解释为特殊字符
f = open(r"E:\\project\\Learn_Project\\poet.txt", "r",encoding="utf-8")

#1、read()方法
print(f.read())#会读全部的文件内容,并打印
print(f.read())#会读空字符串,并打印(因为已经读到文字底部了)

#文件太大,不要用read
#可以按照想要的长度读取
print(f.read(10))#会读取第1-10个字节的文件内容
print(f.read(10))#会读取第11-20个字节的文件内容

#2、readline()方法
print(f.readline())#会读一行文件内容,并打印
print(f.readline())#会读一行文件内容,并打印

#readline()搭配while判断是否读到尾部(因为读完会返回空字符串)
f = open(r"E:\\project\\Learn_Project\\poet.txt", "r",encoding="utf-8")
line = f.readline()#读第一行
while line != "":#判断当前行是否为空
print(line)#不为空则打印当前行
line = f.readline()#读取下一行

#3、readlines()方法
f = open(r"E:\\project\\Learn_Project\\poet.txt", "r",encoding="utf-8")
#readlines会读取全部文件内容,并把每行作为列表元素返回
print(f.readlines())

#readlines搭配for循环
lines = f.readlines()#把每行内容存储到列表中
for line in lines:#遍历
print(line)

在这里插入图片描述

2、关闭文件

#关闭文件,释放资源
#1、
f.close()

#2、
with open("E:\\project\\Learn_Project\\poet.txt") as f:
print(f.read())#对文件的操作

3、读取文件

①读写模式"w":写文件会把原先的内容清空,连续的w会一直写

with open(r"E:\\project\\Learn_Project\\poet.txt", "w",encoding="utf-8") as f:
f.write("李白")
f.write("鹅鹅鹅")

在这里插入图片描述

②附加模式"a":追加内容,而不清空原始内容      “a+”:可读可写,且从文件末尾追加

with open(r"E:\\project\\Learn_Project\\poet.txt", "a",encoding="utf-8") as f:
f.write("附加模式a")

with open(r"E:\\project\\Learn_Project\\poet.txt", "a+",encoding="utf-8") as f:
lines = f.read()
f.write("a+")
print(lines)

③读写模式"r+":可读可写,会覆盖原内容 类似代码同上

赞(0)
未经允许不得转载:网硕互联帮助中心 » Python自用笔记(不断修改版)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!