小喇叭(19.11.28):欢迎换友链,交朋友~

python学习

今天是2020年1月4日,从今天开始学习python,2020年年度计划中的又一个开始运作的点。

学习目的:毕竟是个业余产品,做大熊云教务的时候已经吃过不了解市场、需求的亏了,听说学习了python可以爬数据,所以搞来看看。

学习计划:每天1小时学习。

学习教程:夏推荐的,廖雪峰的python教程

开始:python简介

C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

如果你是小白用户,满足以下条件就行:

会使用电脑,但从来没写过程序;
还记得初中数学学的方程式和一点点代数知识;
想从编程小白变成专业的软件架构师;
每天能抽出半个小时学习。

我觉得我满足了,奥利给!!!!!!!!!!!!!!

---------------

笔记1:

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

这就是大佬吗??

---------------

笔记2:

用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

---------------

笔记3:

第一个缺点就是运行速度慢;

第二个缺点就是代码不能加密;

其他作者没说。。。。

安装Python

笔记1:

Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。

--------------------

笔记2:

在Windows上安装Python,首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载。

安装时候特别要注意勾上 Add Python 3.8 to PATH,然后点 Install Now 即可完成安装。

--------------------

笔记3:

安装成功后,打开命令提示符窗口,敲入 python 查看是否安装成功。

--------------------

笔记4:

当我们编写 Python 代码时,我们得到的是一个包含 Python 代码的以 .py 为扩展名的文本文件。要运行代码,就需要 Python解释器 去执行 .py 文件。

有CPython,这个解释器是用C语言开发的,最常用,win就默认这个。

第一个python程序

笔记1:

命令行模式:在Windows开始菜单选择“命令提示符”,就进入到命令行模式。在命令行模式下,可以直接运行.py文件。

Python交互模式:在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式。

--------------------

笔记2:

Python的交互模式和直接运行.py文件有什么区别呢?

直接输入python进入交互模式,相当于启动了Python解释器,但是等待你一行一行地输入源代码,每输入一行就执行一行。

直接运行.py文件相当于启动了Python解释器,然后一次性把.py文件的源代码给执行了。

--------------------

笔记3:

任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。

输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。

input()和print()是在命令行下面最基本的输入和输出

--------------------

笔记4:

计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义。

Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。

--------------------

笔记4:

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\

>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义

>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

>>> print('''line1
... line2
... line3''')
line1
line2
line3

--------------------

笔记5:

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写)

>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False

布尔值可以用and、or和not运算。

and运算是与运算,只有所有都为True,and运算结果才是True:

>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True

or运算是或运算,只要其中有一个为True,or运算结果就是True:

>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True

not运算是非运算,它是一个单目运算符,把True变成False,False变成True:

>>> not True
False
>>> not False
True
>>> not 1 > 2
True

--------------------

笔记6:

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

在Python中,通常用全部大写的变量名表示常量。

对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。

--------------------

笔记7:

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:

2020年1月6日,开始学习函数

笔记1:

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

我们以自定义一个求绝对值的my_abs函数为例:

def my_abs(x):
if x >= 0:
return x
else:
return -x

--------------

笔记1:

如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):

--------------

笔记2:

如果想定义一个什么事也不做的空函数,可以用pass语句:

def nop():
pass

语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

pass还可以用在其他语句里,比如:

if age >= 18:
pass

--------------

笔记2:

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。

我们先写一个计算x2的函数:

def power(x):
return x * x
对于power(x)函数,参数x就是一个位置参数。

当我们调用power函数时,必须传入有且仅有的一个参数x:

>>> power(5)
25
>>> power(15)
225

当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

我们在编写程序时,如果可以设计一个不变对象,那就尽量设计成不变对象。

--------------

笔记3:

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));

关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。

使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

发表评论

关闭菜单