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+":可读可写,会覆盖原内容 类似代码同上
网硕互联帮助中心




评论前必须登录!
注册