python从入门到实践第一部分涉及到的知识概述
python 字符串
title() 首字母大写
upper() 全部大写
lower() 全部小写
\t \n 换行制表符
rstrip() 删除尾部空白
lstrip() 删除开头空白
strip() 删除两端空白
str(num) 把数字转化为字符串类型
列表
列表按一定或特定元素组成。
列表元素种类不同有序,索引从0开始。-1最后一个,-2倒数第二个
test.append(‘a’) 列表添加元素a
test.insert(n,‘a’) 列表索引n处添加元素a
del test[0] 列表删除索引为0元素
test.pop(n) 列表弹出索引为n的元素
test.remove('a') 列表删除值为a的元素。
sort() 列表永久性排序,按首字母。
cars.sort(reverse = True) 反向排序
sorted(cars) 列表临时排序
reverse() 反转顺序(永久)
len() 列表长度
python 循环
for a in b: 将b中每个元素依次赋给a
缩进表示在循环内
应用
for value in range(1,5):
print(value)
打印1到4。
range() 创建数字列表。 list(range(1,6)) [1,2,3,4,5]
利用range()与for可获取很多形式数组
数字的统计
min(nums) max(nums) sum(nums)
列表解析,简化代码
eg: squares = [ value**2 for value in range(1,11)]
使用列表一部分
切片
test[1:3]; 二到3
test[:4] 前四
test[-3:] 最后三个
复制
test1 = test[:] 复制
test1 = test 错误,未复制,只是将test1 指向test
元组
一系列不可修改的元素 用()定义
修改元组元素时要通过重新定义元组
条件语句
if 条件:
语句一
elif 条件:
语句二
else:
语句三
==
!=
and
or
not in
字典
用{}中的值来定义
eg:alien_0 = {'color':'green','points':5 }
访问 print(alien_0['color'])
添加键值对
alien_0['x_position'] = 0;
alien_0['y_position'] = 25
删除
del alien_0[points]
遍历字典:
for key,value in user_0.items():
print('\nkey:' + Key)
print('value' + value)
for name in user_0.keys():
for value in user_0.values()
遍历后添加条件访问指定键值信息,或确定某部分是否未检查
按顺序遍历 sorted()
嵌套
列表与字典可以结合 从而可以创建重复字典元素的列表 便于操作
aliens =[]
for alien_number in range(30)
new_alien= {'color':'green'}
aliens = aliens.append(new_alien)
列表存于字典
test= {
'name': 1
'num' : [2,3]
}
字典中存字典
用户输入与while
input() 用户输入信息,获取信息未字符串,进行数值运算需转化为int()
eg: test = input(‘num:’)
4 % 3************1 求模运算
while循环
while 条件:
语句
while循环推出 条件不满足 或者 break 立即退出
continue的使用 执行continue 忽略while循环中continue之后代码 重新开始while循环
无限循环 :ctrl + C 退出
while 循环条件可以为 列表 列表为空时跳出循环
字典与while循环的结合
函数
eg:
def greet_user(username)
print("hello,"+ username.title())
greet_user('judy')
实参与形参区别
实参 judy 形参 username
位置实参
decribe(animal_type,pet_name)
关键字实参
decribe (animal_type = '',pet_name= '')
默认值
返回值
return 值
实参可选 即赋予某个形参不影响输出结果的默认值
返回值可以为字典
函数值处理列表
函数中修改列表 预定义一个空列表 pop() 与 append()
禁止函数修改列表的实现
eg:
def function_name(list_name[:])
此时传递的是函数副本而不是函数本身
传递任意数量的实参
eg
def make_pizza(*topping)
print(topping)
位置实参与任意数量实参结合
make_pizza(size,*topping)
任意数量关键字实参
def make_pizza(**toppings)
for topping in toppings.items():
导入函数模块
import 函数模块名
导入特定的函数
from 函数模块 import function_name
as给函数指定别名
from pizza import make_pizza as mp
导入所有函数
from pizza import *
类——面向对象编辑
用来定义现实事物和情景的类,为类创建通用行为、
类的编写
eg:
class Dog():
def _init_(self,name,age):
self.name = name
self.age = age
def sit(self):
print(self.name.title() + " is now sitting.")
类创建实例
eg :
my_dog = Dog('willie',6)
print("My dog's name is " +my_dog.name.title() + ".")
调用方法
my_dog.sit()
python中首字母大写的名称为类,
方法__init__()是一个特殊方法,每次根据已有实例创建新实例python会自动运行它。
__init__(self,name,age)必须包含形参self,每次创建实例时会自动生成实参self。其后形参一般为self属性,通过self.name = name,赋值,也可以通过self.name调用。
__init__()
定义一个Car类
Class Car():
def __init__(self,make,model,year) :
--snip--
self.odometer_reading =0 #设置属性默认值
修改属性值
直接修改
my_car =Car(...)
my_car.odometer_reading = 30
通过方法修改
def update_odometer_reading(self,mileage):
self.odometer_reading =mileage
通过方法渐变
def function_name():
self.name += 数值
继承:以一个类为基础创建一个子类
子类,父类
;
class Car():
--snip--
class ElectricCar(Car):
def __init__(self,make,model,year):
""初始化父类属性""
super().__init__(make,model,year)
python2.7 中继承
super(子类名ElectricCar, self).__init__(make,model,year)
给子类定义方法和属性
super() 将父类与子类关联起来,让子类包含父类的方法
class Car():
--snip--
class ElectricCar(Car):
def __init__(self,make,model,year):
""初始化父类属性""
super().__init__(make,model,year)
self.battery_size = 70
def 方法:
重写父类的方法
子类中
def 父类方法名:
重新定义方法
此时调用方法时只会调用子类中方法,忽略父类中对该方法的描述。
将实例用作属性,将类的一部分作为一个独立的类
eg:
class Car():
--snip--
class Battery():
def __init__(self,battery_size=70):
self.battery_size = battery_size
def decribe_battery(self):
语句
class ElectricCar(Car)
def __init__(self,make,model,year):
super().__init__(self,make,model,year)
self.battery = Battery
my_tesla = ElectricCar
7ff8
('tesla','model s',2016)
my_tesla.battery.describe_battery().
导入类
car.py 文件中定义了类Car
from car import Car
一个模块中可以存储多个类
从一个模块导入多个类
from car import Car,ElectricCal
导入整个模块
import car
from car import *
文件
文件读取(文本文件)
with open('文件名.txt') as file_object:
contents = file_object.read()
print(contents)
read() 读取文件全部内容,但会在末尾返回一个空字符串
rstrip() 删除末尾空白, eg:print(contents.rstrip())
strip() 移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
使用with,open()返回文件代码只在with代码块中可用
创建列表包含文件内容
lines = file_object.readlines()
写入文件
with open(filename,‘w’) as file_object #没有文件会自动创建文件
file_object.write("I love")
open(filename,'w') 第一个实参要打开的文件名,第二个实参表示写入类型 ,默认只读模式
'w' 写入模式 清空重写
'r' 读取模式
'a' 附加模式 不请空,写入文件添加到文件末尾
'r+' 读取和写入文件模式
异常处理
try-except模块
eg:ZeroDivisionError 异常 比如print(5/0)会报出
try:
print(5/0)
except ZeroDivisionError:
print('you can't divide by zero')
使用异常可以避免程序崩溃,避免恶意测试
try:
程序
except 某错误:
发生该错误执行语句
else:
正常执行语句
FileNotFoundError 异常 open()出错,try应包含它
pass: 程序什么也不做,用于不希望报错的时候
存储数据——json模块
f_obj: 存储文件的变量
json.dump() 将信息存储在.json文件中
json.dump(numbers,f_obj) 其中numbers是要存入文件的变量
json.load() 读取.json中的文件
json.load(f_obj)
eg:
import json
numbers = [2,3,4,5]
filename = 'number.json'
with open(filename,'w') as f_obj:
json.dump(numbers,f_obj)
重构 :将代码划分为一系列具体工作的函数。让代码更清晰更易于理解
测试代码——unittest
import unitest
from 测试文件 import 测试方法
class ****TestCase(unitest.TestCase): #创建继承unitest中的TestCase类,类名必须包含Test
def test_测试方法():
实际结果 = 测试方法
self.assertEqual(实际结果,期望结果) #一种断言
unittest.main() #给出测试结果
可以添加多个测试。
断言方法
assertEqual(a,b) 测试a==b
assertNotEqual(a,b) a != b
assertTrue(x)
assertFalse(x)
assertIn(item,list)
assertNotIn(item,list)
setUp方法:
创建一组用来测试的对象与其期望结果
eg:
class Test方法()
def setUp(self)
self.my_answer = 测试方法()
self.response =期望结果
def 测试()
#断言时比较self.my_answer与self.response
- Python编程:从入门到实践 学习笔记 基础知识(四)字典
- Python编程:从入门到实践 学习笔记 基础知识(三)if语句
- Python编程:从入门到实践 学习笔记 基础知识(五)用户输入与While循环
- Python编程:从入门到实践 学习笔记 基础知识(六)函数
- Python编程:从入门到实践 学习笔记 基础知识(一) 变量与简单数据类型
- Python编程:从入门到实践 学习笔记 基础知识(二)列表
- 函数知识及文件IO操作(python快速入门精华切记03)
- python从入门到实践:10-6 加法运算
- python从入门到实践 第七章习题 (高级编程技术 week4-1)
- 零基础 入门学Python-学习笔记第一讲(基本知识)
- 个人随手自学笔记--python3入门及基础知识点(5)—— 枚举、闭包、表达式、函数、装饰器、小爬虫
- Python 从入门到实践 5-1 课后习题
- python爬虫入门(1) 基础知识 ; 正则表达式 Re 模块
- Python入门到实践-了解Python
- Python小练习--类(来自《Python编程从入门到实践》)
- william的python数据分析与挖掘学习总结一:python入门基础知识
- python 从入门到实践 第五章习题 (高级编程技巧 week3-1)
- python编程从入门到实践---day2
- python编程从入门到实践 第十章 知识点总结
- Python零基础入门二十四之正则表达式知识补充