基本语法:
-
字母大小写: title:首字母大写 eg:
upper 全部大写 name.title()
lower 全部小写 -
f字符串:
full_name = “love”
message = f”Hello,{full_name.title()}!” -
删除两端字符:lstrip:删除末尾字符
rstrip:删除开头字符
strip:删除两端字符
默认删除空格,也可删除指定字符 eg:lstrip(‘8’)
如果要删除的字符在中间,怎么办? -
Input 用户输入
Int 数值输入 height=int(height) -
% 余数 / 整数 even偶数 odd 奇数
-
列表,元组,字典,集合区别比较
列表:bicycles = [ ‘trek’ , ’cannondale’ , ’redline’ , ‘specialized’ ]
(1) 由一系列按特定顺序排列的元素组成,
(2) 用“[]”表示,用逗号隔开其中的元素,元素索引从0开始
(3) 元素可以修改的,
(4) 访问元素,bicycle[索引号]
(5)
修改: eg:bicycle[索引号] = ‘new’
添加:
列表末尾:append bicycles.append(‘new’)
列表中: insert bicycles.append(索引号,‘new’)
删除:
del : 可删除任意位置处的列表元素,条件是知道索引
del motorcycle[索引号]
pop(弹出):删除列表的元素,接着使用它
poped_bicycle = bicycle.pop() 删除末尾
poped_ bicycle = bicycle.pop(索引号) 删除任何位置
根据值删除:remove
bicycle.remove(‘其中的元素名’) 只删除第一个出现的值
(6) 排序:
永久排序: sort
bicycle.sort()【正序】 bicycle.sort(reserve=True) 【倒序】
临时排序: sorted
print(sorted(bicycles))【正序】
print(sorted(bicycles,reverse=True))【倒序】
倒着打印列表:reverse
Eg: cars.reverse()
print(cars)
(7) 列表的长度:len
len(bicycles)
(8) 遍历整个列表:for 循环
for bicycle in bicycles: (缩进,冒号等问题)
print(bicycle)····、、、、、、
(9) 创建数值列表 :range( 起始数字 ,结束数字+1,间隔 ) 生成一系列数
默认间隔为1 默认从零开始
list():将一系列数直接转换为列表
对数字列表的统计计算:min(digits)max(digits) sum(digits)
(10) 切片 (列表的部分元素)
print(bicycle[0:3])打印0,1,2,三个名字
print(bicycle[:4])打印前四个名字
print (bicycle[2:])打印2及以后
print (bicycle[-3:]) 打印最后三个名字
(11) 复制列表
new_bicycle = bicycle[:]
new_bicycle = bicycle【False】
元组:dimensions = (200, 50)
(1) 用“()”表示, 用逗号隔开其中的元素,元素索引从0开始
(2) 不能修改: 对”不能修改”的理解?
{
不能改变元组的元素,但可以给存储元组的变量赋值
Eg: dimensions[0] = 250【False】
dimension = (400,100)【true】
}
(3) 访问元素,dimension[索引号]
字典:alien_0 = {‘color’ : green , ’points’ : 5}
(1) 一系列键值对,每个键都与一个值相关联
(2) 用“{ }”表示
(3) 访问元素,alien_0[‘color’] 输出:green 没有索引号
(4) 添加 alien_0[‘x’] = 10
修改 alien_0[‘color’] = yellow
删除 del
del alien_0[‘points’]
访问 get()
point_value = alien_0.get(‘points’,’No point value assigned’)
列表有,就输出得分,没有就输出后面
(5) 遍历键值对
items() for key,value in alien_0.items():
声明两个变量,用于存储键值对中的键和值
keys() for name in alien_0.keys():
只遍历所有的键,不需要值
values() for text in alien_0.values():
只遍历所有的值,不需要键
Set() 踢出重复项,
for text in set(alien_0.values()):
按特定顺序 sorted
for name in sorted(alien_0.keys()):
集合: alien_0 = {‘color’,’points’,’color’}
字典没有键值对就是集合 用“{}”表示
print(alien_0) {‘color’,’points’ } 不存重复项,没有顺序 -
If语句 If A ==B: ==(相等) !=(不等)
and(同时成立) or(至少成立一个)
if -elif-elif- -else -
While循环 While 条件:
Break 结束整个循环 Continue 结束本次循环
标志:True/False -
函数
(1) 定义: def 函数名(形参):形参可给默认值,有实参传递,将忽略默认值
函数体
调用: 函数名(实参) 位置实参/关键字实参
返回值:return
(2) 实参可选:
def get_formated_name(first_name,last_name,middle_name=’ ’):
if middle_name:
full_name=f”{ first_name }{ middle_name }{ last_name }”
else:
full_name=f”{ first_name }{ last_name }”
return full_name.title()
(3) 传递任意数量的实参:
def 函数名(*形参): *形参:创建一个空元组
函数体
def 函数名(**形参): **形参:创建一个空字典
函数体
调用:函数名(几个实参都可以)
(4) 导入模块,函数,将函数存储在模块(一个文件)中
Import 导入模块
Eg: Import pizza
Pizza . pizza_make() 使用模块中的函数
from 模块名 import 函数名 导入特定的函数
导入全部函数 from 模块名 import *
as 指定别名 eg:from pizza import pizza_make as pm 函数别名
import pizza as pz 模块别名 -
类
(1) class 类名(首字母大写):
定义各种方法(函数)
def init(self,其他形参)
self.ming = ming 方法__init__必须有,创建类时会自动运行这个方法,必须包含self形参,在调用时self自动传递实参,不需要再写入这个实参
eg: 定义: class Dog:
def init(self,name,age)
self.name = name
self.age = age
def sit(self):
print(f”{self.name} is now sitting”)
调用: my_dog = Dog(‘willie’,6) 不用传入self
my_dog.name 调用属性 my_dog.sit() 调用方法
(2) 修改属性的值
直接修改
My_dog.name = ‘mmm’
通过方法修改属性
def change_name(self,c_name)
self.name = c_name
my_dog.change_name(‘mmm’)
通过方法对属性的值递增
def change_name(self,c_name)
self.name += c_name
(3) 继承
class new_Dog(Dog):
def init(self,name,age) 父类的
super.init(name,age)
其他属性
def 其他方法
继承父类后,没用的方法,可在子类中重写
(4) 将实例用作属性 P153
(5) 导入与函数相同 -
文件和异常
(1) 读文件 文件地址一般都赋给一个变量,open()调用变量
读取文件
with open(‘文件地址’) as file_object:
contents = file_object.read()
print(contents)
逐行读取
with open(‘Ft’) as file_object:
for line in file_object:
print(line)
创建包含文件各行内容的列表
–snip–
lines = file_object.readlines()
for line in lines:
print(line.rstrip())
使用文件中的内容
–snip–
pi_string = ‘ ’
for line in lines:
pi_string += line.rstrip()
print(pi_string)
打印大型文件
–snip—
pi_string += line.strip()
print(f”{pi_string[:52]}…”)
(2) 写入文件 (python只能将字符串写入文本文件,数值用str()转)
with open(文件地址变量,‘写入模式’) as file_object:
File_object.write(“写入内容”) 写入时write,只读取用read‘w’:写入模式 ‘r+’:读写模式
try – except-else 避免程序崩溃
try :
要执行的代码1
except ZerodivisionError:
Print(“错误提示”)
else:
要执行的代码2 (try代码块成功执行的代码放到else代码块中继续执行)
encoding = ‘utf-8’ 设置默认编码方式
Open(打开文件的地址变量,Encoding = ‘utf-8’)
当系统默认的编码与要读取文件使用的编码不一致,采取这种方式
split() 根据一个字符串创建一个单词列表
eg:title = “Alice in Wonderland”
title.split()
pass 静默失败
except FileNotFoundError:
pass
(3) 存储数据 json
使用json.dump()来存储列表
eg: import json
numbers = [1,2,3,4,4,67]
file_name = ‘numbers.json’ #存储到哪个文件,以.json为文件扩展名
with open(file_name,’w’) as f:
json.dump(numbers,f) #两个参数,一个要写入的数字,一个要存储到哪个文件
使用json.load()将列表读取到内存中
eg: import json
file_name = ‘numbers.json’ #存储到哪个文件,以.json为文件扩展名
with open(file_name) as f:
numbers = json.load(f)