1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python零基础到入门 |精简干练 记录小白学习日常

python零基础到入门 |精简干练 记录小白学习日常

时间:2019-09-11 08:05:19

相关推荐

python零基础到入门 |精简干练 记录小白学习日常

写在前面:本文作者自学python笔记,持续更新…主要参考Eric Matthes所著的《python编程:从入门到实践》

关于python:

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python 是交互式语言:这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。Python 是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。**Python 是初学者的语言:**Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

大多数python程序可以直接从编译器运行,但解决的问题比较复杂时,可能需要从终端运行。

cd到对应路径后,在对应文件夹执行:python hello_world.py

第一部分:基础概念

变量命名规则:

1.变量名只能包含字母、数字、下划线,但不能以数字开头。

2.变量名不包含空格

3.不能有python关键字和函数名

4.最好简短且具有描述性

5.少些小写l和大写O,像1和0

一些py常用

python使用方法修改字符串的大小写。

name = "ada.love"print(name.title())print(name.upper())print(name.lower())

python使用加号(+)合并拼接字符串

使用制表符或换行符添加空白(增加易读性)

制表符:\t

换行符:\n

>>>print("L:\n\tpython\n\tC\n\tJS")结果:pythonCJS

删除空白:

删除字符串末尾空白用方法rstrip()

删除字符串开头空白用方法lstrip()

删除字符串两端空白用方法strip()

格式:字符串.rstrip()

print不一定非要加括号,也可以用引号和双引号,当用括号时,print被看成函数。

整数运算:加减乘除(+ - * /),乘方(**),修改运算顺序用括号。

带小数的都是浮点数。

使用str()函数将非字符串表示为字符串

python的相等(==)区分大小写

检查条件:

and 同时满足所有条件

or 满足一个条件

in 特定值已经包含在列表中

not in 特定值不包含在列表中

另:条件测试使用if-else,多重条件测试使用if-elif-else语句

注释:

#句注释'''段注释'''

用户输入

使用函数input()让用户进行输入,函数input() 让程序暂停运行,等待用户输入一些文本,获取用户输入后,Python将其存储在一个变量中,以方便使用。函数input() 接受一个参数:即要向用户显示的提示或者说明,让用户知道该如何做。

示例:

message = input("Tell me something, and I will repeat it back to you: ")print(message)

列表

列表:由一系列按特定顺序排列的元素组成,其中的元素可以是任何东西,元素之间可以没有任何关系。

在python中,用方括号[]来表示列表,并用逗号分隔其中的元素。

格式:

bicycles = ['treck','cannondale','ard','specail']print(bicycles)

访问列表元素:给出 列表名称[索引] 即可:print(bicycle[0])

索引从0开始,当你请求获取列表元素时,Python只返回该元素,而不包括方括号和引号,例如:treck

增删改查:

cicycles.append('aaa') //列表末尾增加一个叫aaa的元素cicycles.insert(1,'bbb') //在列表第二个位置插入元素bbbdel cicycles[0] //删除列表第一个元素,此方法可删除任意位置的元素remove和pop也能删除列表元素,pop用于删除列表中任意位置元素,并让你能够接着使用它first_owned = motorcycles.pop(0)remove是根据值删除列表中的元素motorcycles.remove('ducati')

若要修改列表中的元素,重新定义即可,例如:

bicycle[3] = 'panda'

一些其他对列表的操作:

使用sort()方法对列表进行永久性排序

使用sorted()方法对列表进行临时排序

使用reverse()反转列表元素的排序

使用函数len()得到列表的长度

访问列表的最后一个元素可以使用索引-1,如AAA[-1](当列表为空时会返回错误)

对列表进行切片:

切片是指对列表的部分元素进行操作,下面进行示例:

players = ['charles', 'martina', 'michael', 'florence', 'eli'] print(players[0:3])//输出结果:['charles', 'martina', 'michael']

如果你没有指定第一个索引,Python将自动从列表开头开始;

如果没有指定第二个索引,python会让切片终止于列表末尾。

负数索引返回离列表末尾相应距离的元素,

格式:players[-3:]

复制列表时,可创建一个包含整个列表的切片,同时省略起始索引和终止索引([:] )即可。

示例:friend_foods = my_foods[:]

元组

元组:不能修改的列表被称为元组,使用圆括号,定义元组后也可以使用索引来访问其元素,就像访问列表一样。(修改元组的操作是被禁止的,因此Python指出不能给元组的元素赋值。)

例:A = (200,50)

元组的索引也是从0开始,A[0]=200

元组是不能被修改的,但可以重新定义元组,即重新定义整个元组而非元组的某个元素。

字典

字典是一些列 键——值 对应,每个键都与值对应,可以将任何python对象作为值,例如数字、字符串、列表等等,常用字典储存一个对象的多种信息。在Python中,字典用放在花括号{} 中的一系列键—值对表示。

格式:

A = {'color':'green','point':5}

访问字典中的值需要指定键,例如

alien_0 = {'color': 'green'}print(alien_0['color'])//输出:green

添加键值对时,需要依次指定字典名、用方括号括起的键和相关联的值。

alien_0 = {'color': 'green', 'points': 5}alien_0[size] = bigprint(alien_0)//输出:{'color': 'green', 'points': 5, 'size':'big'}

要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值:

alien_0 = {'color': 'green'}alien_0['color'] = 'yellow'

而删除键值对时,使用del,只需要指定键就行。

del alien_0['points']

嵌套:

有将一系列字典存储在列表中,或将列表作为值存储在字典中,称为嵌套。

下面进行演示,字典列表:

alien_0 = {'color': 'green', 'points': 5}alien_1 = {'color': 'yellow', 'points': 10}alien_2 = {'color': 'red', 'points': 15}aliens = [alien_0, alien_1, alien_2]for alien in aliens:print(alien)//结果:{'color': 'green', 'points': 5}{'color': 'yellow', 'points': 10}{'color': 'red', 'points': 15}

在字典中存储列表:

pizza = {'crust': 'thick','toppings': ['mushrooms', 'extra cheese'],}for topping in pizza['toppings']:print( topping)//输出:extra cheese

有时,在遇到的情况比较复杂时,还可以尝试在字典中嵌套字典,如下:

users = {'aeinstein': {'first': 'albert','last': 'einstein','location': 'princeton',},'mcurie': {'first': 'marie','last': 'curie','location': 'paris',}}

for循环:

可以使用for循环来遍历列表和元组。

格式:for i in 列表名:

函数range可以创建数值列表,例如range(1,5)代表1234

我们可以使用函数list()将range()的结果直接转换成一个列表,例如

numbers = list(range(1,6))print(numbers)//结果:[1,2,3,4,5]

列表解析:

列表解析将for 循环和创建新元素的代码合并成一行,并自动附加新元素,例如:

squares = [value**2 for value in range(1,11)]print(squares)//结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

在for循环中也能使用切片。

❶for player in players[:3]:print(player.title())

遍历字典

遍历字典的for 循环需要明两个变量,用于存储键—值对中的键和值。

示例:

user_0 = {'username': 'efermi','first': 'enrico','last': 'fermi',}for k, v in user_0.items(): //若只想遍历键,可不加.items或将其替换成keys就行,想遍历值则换成values即可print("\nKey: " + key) print("Value: " + value)//输出:Key: lastValue: fermiKey: firstValue: enricoKey: usernameValue: efermi

注意:遍历字典时,键—值对的返回顺序与存储顺序不同。

若想按顺序返回,可使用函数数sorted():

for name in sorted(favorite_languages.keys()):

倘若想遍历提取字典中所有的值,而涉及的值很多时,最终的列表可能包含大量的重复项。为剔除重复项,可使用集合(set),它类似于列表,但每个元素都必须是独一无二的:

for language in set(favorite_languages.values()):

if语句

if 语句的核心都是一个值为True 或False 的表达式,这种表达式被称为条件测试,也被称为布尔表达式。使用条件测试可以检查感兴趣的任何条件。

if-else语句:

age = 17 if age >= 18:print("You are old enough to vote!")print("Have you registered to vote yet?") else:print("Sorry, you are too young to vote.")print("Please register to vote as soon as you turn 18!")

简单解释一下:

如果if的条件测试通过了,就执行第一个缩进的print 语句块;

如果测试结果为False ,就执行else 代码块。

有的程序没有else,则只判断是否成功,如果没成功则跳过if代码块执行接下来的语句。

有时候会有检查超过两个的情形,为此可使用Python提供的if-elif-else 结构。

Python只执行if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试,执行紧跟在它后面的代码,并跳过余下的测试。

例如:

age = 12if age < 4:print("Your admission cost is $0.") elif age < 18:print("Your admission cost is $5.") else:print("Your admission cost is $10.")//有时会使用多个eiif代码块,原理同上,但python并不要求if-elif 结构后面必须有else 代码块

while循环

for 循环用于针对集合中的每个元素都一个代码块,而while 循环不断地运行,直到指定的条件不满足为止。

示例:

number = 1while number <= 5:print(number)number += 1//此时当number大于5时while退出循环

退出循环:

若遇到特殊情况需要在循环的过程中退出循环,可以使用break。

break语句用于退出当前循环。任何python循环都可以使用break语句,例如for或者if。

若不需要退出循环而只是返回到循环开头,可以使用continue语句。

continue语句用于返回到循环开头,并根据条件测试结果决定是否继续执行循环。

while循环也可以用来处理列表和字典,示例:

unconfirmed_users = ['alice', 'brian', 'candace']confirmed_users = []# 验证每个用户,直到没有未验证用户为止# 将每个经过验证的列表都移到已验证用户列表中while unconfirmed_users: current_user = unconfirmed_users.pop()print("Verifying user: " + current_user.title()) confirmed_users.append(current_user)# 显示所有已验证的用户print("\nThe following users have been confirmed:")for confirmed_user in confirmed_users:print(confirmed_user.title())

其余用法都差不多,这里就不一一说明了。

函数

定义函数

先定义一个函数:

def greet_user(): """显示简单的问候语"""print("Hello!")greet_user()//调用该函数,即让python执行函数的代码

python使用关键字def来定义一个函数,函数名为greet_user().

第二行被称为文档字符串,描述了函数是做什么的。文档字符串用三引号括起,Python使用它们来生成有关程序中函数的文档。

函数返回的值被称为返回值。

def get_formatted_name(first_name, last_name)://该函数接受参数"""返回整洁的姓名""" full_name = first_name + ' ' + last_name return full_name.title()musician = get_formatted_name('jimi', 'hendrix')//像函数传递参数print(musician)

这里get_formatted_name的返回值就是full_name.title(),使用return返回。

将函数存储在模块中

函数的优点之一是,可以使用它们将代码块和主程序分离。

如果将函数存储在称为模块的独立文件中,再将模块导入到主程序中。

import语句允许在当前运行的程序文件中使用模块中的代码。

模块是扩展名为.py的文件,包含要导入到 程序中的代码。

例:

pizza.py

def make pizza (size, *toppings) :"""概述要制作的比萨"""print ("nMaking a " + str (size)+"-inch pizza with the following toppings : ")for topping in toppings:print ("- " + topping)

making_pizzas.py

import pizzapizza.make_pizza(16,'pepperoni ')pizza.make_pizza(12,'mushrooms ', 'green peppers', 'extra cheese')

Pthon读取这个文件时,代码行import pizza 让Python打开文件pizza.py,并将其中的所有函数都复制到这个程序中。你看不到复制的代码,因为这个程序运行时,Python在幕后复制这些代码。你只需知道,在making pizzas.py中,可以使用pizza.py中定义的所有函数。

导入特定的函数:

from module_name import function_0,function_1,function_2 (也可以用*代指所有函数)

使用as给函数指定别名

from module_name import function_name as mp(mp即别名)mp(16,'pep')

使用as给模块指定别名

import pizza as p

继承

如果你要编写的类是另一个现成类的特殊版本,可使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法。原有的类称为父类,而新类称为子类。

子类继承了其父类的所有属性和方法,同时还可以定义自己的属性和方法。

定义子类时必须在括号内指定父类的名称。

class carsom(car)

super()函数:

super()函数将父类和子类连接起来,可以让子类调用父类的方法

对于父类的方法可以进行重写,但重写的方法要与父类同名。

导入类

随着不断给类添加功能,文件可以变得很长,为了简洁,python允许将类存储在,模块中,然后在主程序中导入模块。

格式参照导入函数。

将Car类存储在car.py的模块中

car.py

"""一个......的类"""class Car():"""......"""def __init__()

创建my_car.py导入Car类

from car import Carmy_new_car=Car('audi','a4','')

标准库

python标准库是一组模块,安装的python都包含它。

你现在对类的工作原理已有大致的了解,可以开始使用其他程序员编写好的模块了。可使用标准库中的任何函数和类,为此只需在程序开头包含一条简单的import语句。

类编码风格

类名首字母大写且不使用下划线。

实例名和模块名都小写且单词之间加上下划线。

每个类的类定义后要用文档字符串描述类功能,模块也要包含文档字符串。

可以用空行组织代码、分割方法。用两个空格分隔类。

先导入标准库的模块,添加一个空行后再导入自己编写的模块。

文件和异常

文件

用程序打开文件:

with open ( 'pi_digits.txt ') as file_object:contents = file_object.read ()print (contents)

函数open()表示返回一个文件的对象并将这个对象储存在后面变量中。

with表示不再需要访问文件后关闭它,python自己会关。

read()读取文件并将它储存在一个变量中。但read()到达文件末尾时会返回一个空字符串,即结尾会多出来一个空行。

若想删除可在print语句中使用rstrip()

例:print (contents.rstrip())

要让Python打开不与程序文件位于同一个目录中的文件,需要提供文件路径

可以使用相对文件路径和绝对文件路径。

with open ( 'text_files/filename.txt ' ) as file_object://相对file _path = 'C:\Userslehmattheslother_filesitext_files\filename.txt'with open (file_path) as file_object //绝对for line in file_object://可以使用for循环逐行读取

open()有两个实参:第一个实参也是要打开的文件的名称。第二个实参**(‘w’)告诉Pytion。,我们要以写入模式打开这个文件。打开文件时,可指定读取模式(‘r’)、写入模式(‘w’)、附加模式('a)或让你能够读取和写入文件的模式('r+’)**。

如果你省略了模式实参,python将以默认的只读模式打开文件。

write()方法:将字符串写入文件,但该函数不会在文本末尾添加换行符。

附加模式:如果你要给文件添加内容,而不是覆盖原有的内容,可以附加模式打开文件。

异常

Python使用被称为异常的特殊对象来管理程序执行期间发生的错误

每当发生让Pytion不知所措的错误时,它都会创建一个异常对象。如果你编写了处理谈异常的代码,程序格继续运行;如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告。

处理异常:

当你认为可能发生了错误时,可编写一个try-except代码块来处理可能引发的异常。你让Pyton尝试运行一些代码,并告诉它如果这些代码引发了指定的异常,该怎么办。

例:

try:print (5/0)except zeroDivisionError:print ("You can't divide by zero! ")

到此就先结束了,若有不足或者不正确的地方请在评论区回复或者私信作者。

今天也是努力学习的一天!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。