pyhon学习基础

python基础
一 、变量和简单数据类型
(一)变量:
1、变量的定义:python中每个变量都储存了一个值,在程序中可随时修改变量的值,而python将始终记录变量的最新值。
2、变量的命名和使用:
(1)变量名只能包含字母,下划线和数字。变量名不可以以数字打头,但可以使用下划线。
(2)变量名不可以包含空格,使用下划线来分隔其中的单词。
(3)不能将python中的关键字当作变量名。
(4)变量名尽量简短又具有描述性。
(5)慎用小写字母l和大写字母O,以免与数字0和1混淆。
(6)尽量使用小写的变量名。
3、python的语法突出功能:编辑器会以各种方式突出程序的不同部分。
(二)字符串:
1、定义:一系列字符,在python中用单双引号括起的都是字符串。
2、修改字符串大小写的方法:title():以首字母大写;upper():全部大写;lower:全部小写。
3、字符串的拼接:
(1)使用‘+’号进行拼接
4、字符串操作:
(1)添加制表符\t
(2)添加换行符\n
(3)多行输出:\n\t
(4)删除空白:
暂时删除空白:str.rstrip();永久删除空白:str = str.rstrip();剔除字符串开头空白:str.lstrip();
同时删除两端的空白:str.strip();这些剥除函数常用于在储存用户输入前对其进行清理。
(5)要避免的常见语法错误:单双引号位置不当;
(6)str(number)可将数字变量变为字符串变量
5、数字:
(1)整数(2)浮点数(float)(3)注意类型错误
6、注释
(1)单行注释:#
(2)多行注释:‘’‘ ’‘’
7、缩进
(1)python通过缩进来判断代码行与前一个代码行的关系。
(2)在代码书写时只缩进需要缩进的代码行
(3)使用空行将程序的不同部分分开

二、列表
1、定义:由一系列按特定顺序排列的顺序组成。
2、表示:list_name = [ ],并用逗号来分隔其中的元素。
3、访问列表元素:print(list_name[0].title()),索引从0开始,最后一个元素索引为-1,倒数第二个元素为-2.
4、修改,添加和删除元素:
(1)列表是动态建立的,可修改
(2)修改元素:list_name[0] = ‘d’(类似于改变任意元素的值)
(3)添加元素:list_name.append(‘d’),方法append()更易于动态创建列表,将元素添加至列表末尾。
(4)插入元素:方法insert(),list_name.insert(0,‘d’),指定索引和值
(5)删除元素:del list_name[0]:须知道要删除元素在列表中的位置(索引),使用此方法将值删除后,无法再次访问它;
new_name = list_name.pop():删除列表末尾的元素并可继续访问它,将其储存在新的列表中,此方法可指出列表最新动态;
new_name = list_name.pop(0):删除任何位置的额元素,标出索引即可。被弹出的元素将不再存在于列表之中。
list_name.remove(‘d’)删除值为d的元素,删除后也可接着使用,但他只删除第一个指定的值,若有多余则须使用循环语句。
5、组织列表:
(1)使用sort()方法对列表进行永久排序(按字母顺序):list_name.sort();倒序排列:list_name.sort(reverse = True)
使用函数sorted()对列表进行临时排序,但不影响列表的原始排序(字母顺序),若想要倒序,则向函数sorted()传递参数reverse = True
(2)使用方法reverse()可翻转列表的排序(按索引反转)
(3)列表的简单计算:函数min(),max(),sum()等。
(4)列表解析:squares = [values****2 for value in range(1,11) ],将for循环和创建新元素的代码合并,并自动附加新元素。
(5)确定列表的长度:len(list_name),快速获取列表长度(判断注册用户有多少等应用)
注:计数时从1开始,因此确定列表长度时不会遇到差一错误。
发生索引错误但难以找出时可尝试将列表或其长度打印出来。
6、使用部分列表:
(1)切片定义:列表的部分元素。
(2)创建切片:开始和终止索引。print(list_name[0:3]),可以生成列表的任何子集,如果没有指定第一个索引,python将从开头开始提取;如果没有指定最后一个索引,让切片终止于列表末尾,可省略终止索引。
(3)负数索引返回离列表末尾相应距离的元素。例如输出名单上最后三名队员:
players[-3:]
(4)切片的遍历:for player in players[-3:]:
print(player)
(5)切片应用:批量处理数据;分页处理web页面信息。
(6)复制列表:copy_name = list_name[:]
可以先复制列表再进行操作。
7、操作列表
(1)遍历列表:for x in list_name:
print(x)
此处x尽量选择与列表中元素有意义的,如:for cat in cats,对列表中所有元素都将执行循环制定的步骤。
(2)更多操作:
for x in list_name:
操作代码
8、创建数值列表:存储数字集合
(1)使用函数range()来轻松地生成一系列数字。
for value in range(1,5):
print(value)
输出为1到4,不包括5
(2)使用函数list()和range()创建数字列表:
numbers = list(range(1,5))
还可以指定步长。如打印偶数:
even_numbers = list(range(2,11,2)),最后的2为步长。
使用range()可以创建任何需要的数集:
squres = []
for value in range(1,11):
squre = value2
squres.append(square)
简洁:squares.append(value**2)
9、元组
(1)定义:元组是不可变的列表,使用圆括号标识,定义后可以想访问列表一样访问
(2)遍历元组与遍历列表一样,使用for循环
(3)修改元组变量:虽然不能修改元组的元素,但可以给存储元组的变量赋值。
demensions = (200,50)
demensions[0] = 250(错误)
demensions = (400,100)(正确)
(4)使用场景:若需存储的一组值在程序的整个生命周期内都要求不变,可使用元组。

三、if语句
1、条件测试:值为True或False的表达式(布尔表达式)
(1)检查是否相等:‘==’,区分大小写,若大小写无关紧要可将变量转为小写(lower())
(2)检查是否不相等:‘!=’
(3)比较数字:<,>,<=,>=
(4)检查多个条件:关键字‘and’和‘or’
(5)检查特征值是否包含在列表中:关键字‘in’
(6)检查特征值是否不在列表中:关键字‘not in’
2、if语句结构
(1)简单的单测试单操作
(2)if-else
(3)if-elif-else
(4)使用多个elif代码块(可省略else代码块)
(5)测试多个条件使用一系列的简单if语句即可
3、使用if语句处理列表
(1)检查特殊元素
(2)判断列表是否为空:if list_name: python将在列表为空时返回False,不空时返回True。

四、字典
1、定义:可高效模拟现实中情形的数据存储结构。
2、使用字典:
(1)在python中,字典是一系列键-值对。每个键都与一个值相关联,可使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。
(2)字典的表示:dic = {key:value,},键值对是两个相关联的值。指定键时,python将返回与之相关联的值。
(3)字典中可存储任意数量的键值对。
(4)访问字典中的值:依次指定字典名和放在方括号内的键。print(dic[‘key’])
(5)添加键值对:
dic[‘key’] = value,先创建一个空字典:dic = {},再使用字典可存储数据。doc[‘key’] = value
(6)修改字典中的值:dic[‘key’] = ‘new_value’
(7)删除键值对:del语句,指定字典名和要删除的键。del dic[‘key’],删除的键值对永远消失。
3、遍历字典:
(1)遍历所有键值对:for循环,for key,value in dic.items(),print(’\nkey: ’ + key),print('value: ’ + value)遍历字典时,键值对的返回顺序也与存储顺序不同。python只跟踪键和值之间的关联。
(2)遍历字典中的所有键:方法keys():不需要使用字典中的值时。for key i dic.keys(): print(dic.title())
(3)按顺序遍历字典中的所有键:for key in sorted(dic.keys())
(4)遍历字典中的所有值:for x in m.values():
print(mix.title()),这种做法可以提取字典中的所有值,但未考虑重复值的情况。为了剔除重复值,可使用集合set(),其中的元素都是独一无二的。
for x in set(m.values()):
print(x.title())
4、嵌套
(1)定义:一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。(功能强大)
(2)字典列表:dic_0 = {}
dic_1 = {}
dic_2 = {}
dics = [dic_0,dic_1,dic_2]
for dic in dics:
print(dic)
for number in range(30):
range()返回一系列数字,其唯一的用途是告诉python我们要重复这个循环多少次。
(3)在字典中存储列表:每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表
m = {‘a’:‘b’,
‘m’ = [‘d’,‘e’,‘f’]}
(4)在字典中存储字典,注意嵌套的层次不应太多。

六、用户输入和while循环
1、函数input():
(1)工作原理:让程序暂停运行,等待用户输入一些文本。获取文本后,python将其储存在一个变量中,以方便使用。
(2)函数input()接受一个参数,即向用户提示输入内容。可在提示末尾加一个空格,程序更为明了。提示过长时,可先将提示存储在一个变量中,再将该变量传递给函数input()
prompt = ‘提示字符串’
name = input(prompt)
(3)使用int()来获取数值输入:int(input(prompt))
(4)求模运算符:%(判断数字奇偶)
2、while循环简介
(1)定义:while循环不断运行,直到指定条件不满足为止。(可与if循环结合使用)
(2)形式:标志名 = True
while 标志名,标志为true时运行,false时停止运行。
(3)使用break退出循环:立即退出while循环,break语句可用于控制程序流程。在任何python循环流程中都可使用break。
(4)使用continue返回到循环开头,并根据条件测试结果决定是否继续执行循环。
(5)避免无限循环:ctrl + c 可终止程序
3、使用while循环来处理列表和字典:
(1)通过pop()函数以每次删除一个列表末尾的元素完成列表之中元素的移动。
m = [‘a’,‘b’,‘c’]
while m :
x = m.pop()
(2)删除包含特定值的所有列表元素:
while ‘cat’ in pets:
pets.remove(‘cat’)
print(pets)
(3)使用用户输入来填充字典可使用while循环提示用户输入任意数量的信息。

七、函数
1、定义:def 关键字,以:结尾,紧跟其后的所有缩进行构成了函数体。
(1)def m():无参数定义
(2)def m (形参):
函数体
实参
2、实参的传递:
(1)位置实参:每个位置实参都要关联到一个形参,位置实参的顺序很重要
(2)关键字实参:传递给函数的名称—值对。无需考虑调用中的实参顺序。def d(a,b):d(a = ‘h’,b = ’g‘),使用关键字实参时要准确地指定函数中定义的形参名。
(3)默认值:编写函数时,可给每个形参指定默认值。若无指定实参值,将使用形参的默认值;给形参指定默认值后,可在函数调用中省略相应的实参;使用默认值可简化函数调用,还可清楚指出函数的典型用法;显式的提供实参,python将忽略这个形参的默认值。
注:使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。才能让python正确解读位置实参。
(4)避免实参错误:提供的实参数多或少于函数所需信息时,会报错,traceback会指出错误所在之处。
3、函数的返回值(关键字return)
(1)返回简单值
(2)返回字典:函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。
(3)结合使用函数和while循环
4、传递列表
(1)在函数中修改列表:在函数中可修改列表
(2)禁止函数修改原列表,可使用切片表示法[:]创建一个列表的副本。将列表的副本传给函数,这样函数就仅修改副本列表,而不损坏原列表。
5、传递任何数量的实参
(1)形参名前的*可让函数创建一个空元组,并将收到的所有值都封装到这个元组中。(将实参封装),可结合使用位置实参和任意数量的实参,必须将接收任意数量实参的形参放在最后,先匹配位置实参和关键字实参。
def m(size,*toppings):
(2)使用任意数量的关键字实参:将函数编写成能够接受任意数量的键值对-调用语句提供了多少键值对就接受多少。
def b(first,second,**user_info):
*让python创建一个空字典,并将收到的所有键值对都封装到这个字典中。可像访问其他字典一样访问user_info中的键值对。
6、将函数存储在模块中
(1)将函数封装在被称为模块的独立文件中,再将模块导入到主程序中。
(2)import语句允许在当前运行的程序文件中使用模块中的代码。
(3)导入整个模块:模块扩展名为
.py
import model_name
model_name.function_name(引用模块中特定的函数)
(4)导入模块中特定函数:
from model_name import function_name
用逗号分隔来导入多个函数:
from model_name import function_0,function_1,function_2
(5)使用as给函数指定别名:
from pizza import make_pizza as mp
(6)使用as给模块起别名:
import pizza as p
(7)from pizza import * 导入模块中的所有函数
7、函数的编写指南
(1)给函数指定描述性名称
(2)在函数定义后注释函数的功能
(3)给形参指定默认值时,等号两边别加空格;对于函数调用中的关键字实参,等号两边也别有空白。
(4)使用两个空行将相邻函数隔开
(5)所有import语句都放在文件开头
8、函数的嵌套调用

def  testB():
	print('----------testB  start -----------')
	print('这是testB代码‘)
	print('---------testB  end -----------')
def testA():
	print(---------testA  start --------')
	testB()
	print('-------testA end -----------')
testA()

八、类
1、创建和使用类:
(1)创建类:python中首字母大写的是类
class Dog():
def init(self,name,age)
(2)方法_init_():类中的函数称为方法,实用类来创建 新实例时,python都会自动运行它。
(3)根据类创建实例:
my_dog = Dog(‘sam’,6),访问实例的属性可使用句点表示法:my_dog.name;调用方法:创建实例后可使用句点表示法来调用类中定义的任何方法:my_dog.sit();可根据需求创建任意数量的实例。将每个实例都存储在不同的变量中,或占用列表或字典的不同位置。
2、实用类和实例
(1)给属性指定默认值,类内的属性必须有各自的初始值,哪怕为0或空字符串。
(2)修改属性的值:直接修改:通过实例直接访问:my_dog.age = 7;通过方法修改,将值传递给一个方法,由它在内部更新。
def update_odometer(self,mileage):
my_new_car.update_odometer(23)
my_new_car.read_odometer()
还可以通过方法对属性的值进行递增:
def io(self,miles):
self.od += miles
3、继承
(1)定义:一个类继承另一个类时,原类称为父类,新类称为子类。子类继承了父类的所有属性和方法,同时还可定义自己的属性和方法。
(2)super():特殊函数,将父类和子类关联起来。
(3)给子类定义属性和方法:子类除继承父类属性和方法外,还可添加区分子类和父类的新属性和方法。
(4)重写父类的方法:在子类中定义与要重写的父类方法同名的方法,python将只关心你在子类中定义的新方法。而不会考虑这个父类方法。
(5)将实例用作属性:
class Bettery():
self.battery = Battery()
(6)模拟实物
4、导入类:
(1)from file_name import Class_name
(2)from file_name import Class_1,Class_2
(3)import model_name
model_name.Class_name
(4)python标准库包含许多功能强大的模块。
5、类编码风格
(1)类名应使用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线
(2)实例名和模块名都采用小写格式,并在单词之间加上下划线
(3)类定义后应跟一注释来描述功能
(4)可使用空行来组织代码,使用一个空行来分隔方法;使用两个空行分隔类。
(5)在引用标准库模块时,先编入标准库模块,再添加一个空行,然后编入自己编写的模块的import语句。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值