Python 1 基础:变量及基础语句

Python 1 基础:变量及基础语句

旧博客Python系列

从 2018-05-15 16:10:19 开始,一直到 2018-06-14 15:09:00 一个月的时间,都在攻读Python,旧博客上发布了一共41篇文章,从入门一直搞到了并发。

当时其实对面向对象还有多么深刻的认识,还是停留在能够实际写点东西的程度,后来学了Java和设计模式,才更深刻的感受到了计算机的美。不过这也变相说明,Python确实挺适合入门的,直到现在,我写处理Excel的脚本,还是喜欢用Python这种配置简单的,如果是Java要搞半天才行。

从这一系列的文章开始,基本上博客的写作风格也成熟了,不再像初期一样排版混杂,开始使用各种标题进行层次分割,使用pre标签来明确区分代码块。

开始学习Python

过完了前边的Linux基础,鸟哥的Linux第四版也来了.
又要开始新的python学习了.
之前自学过一次python,发现python虽然很快可以写出东西来,但其实高级特性一点也不容易掌握.后来发现单纯看书是不行,因为很多套路没有讲解,如果自己去理解就显得比较难.
就想着外边这么多培训机构,应该有可以讲得比较好的.
在腾讯视频看了一个python入门的教学,发现其中函数柯里化和装饰器的部分讲的很好,闭包的概念也理解了.
那么这一次就看看跟着机构教学可以学习到什么程度吧.

Python的学习路线:
1 python基础
-基本
-基本数据类型
-函数,
-面向对象,关键是要理解面向对象编程的思想以及python一切皆对象的思想及反映在程序内的操作.
2 网络编程,了解python标准库内的web编程和socket使用
3 web框架
–用于写网站
4 设计模式与算法
5 项目阶段
-页面效果
-后台数据库
-前后端串起来

作业的要求:
-程序
-自己写个博客来总结和归纳

Python 1 基础:变量及基础语句

ython开发的教学博客在这里

程序语言的简介:
分为高级语言:Jave C++ C# PHP Go Ruby 等
低级语言:C 汇编

低级语言必须手工来操作内存及分配,高级语言一般都通过解释器或者编译器来自动进行内存管理。

一些常用的高级语言介绍:

语言简介
C和汇编语言一般用来编写操作系统内核及硬件驱动
PHP适合写页面,可以快速搭建web页面,有局限性
Java和C++很通用,一般用于开发大型软件,开发难度高,执行效率高
Python开发快捷,使用面广,执行效率低

在自学的时候了解了图灵完备的语言都可以做任何事情,也就是说,上边这些语言都可以实现一样的功能,只是开发的过程有区别而已。一台通用计算机+图灵完备语言能够做到的事情,其他通用计算机也都能够做到。在计算力不断发展的今天,采用解释器的语言的执行效率相比编译运行的语言,在广义的服务上也差不了太多,只有在特殊的情况下才需要用力优化。

什么是Python,随便打开一本书都会有的啦。

Python.org的官方版本是CPython,即解释器是由C语言写成的。
常见的还有:
Jython(以Java 解释器写的python),不过我看了一下,Jython现在只有2.7版,可能还未升级到3.X版。
IronPython:用C#写的python解释器。
Pypy:用CPython写的python解释器。但是Pypy的通用性目前还没有做到和Cpython一样,尤其在各种库支持方面。如果运行简单程序,倒是可以考虑Python。
这里边最快的是Pypy,其中的技术有很多技术方面的论文。现在就不去深究了

Python究竟是什么:所有的语言,都是将字符翻译成机器码,然后交给操作系统执行的过程。编译器与解释器的区别。Python 是一个解释器,用来将编写的代码字符解释并且运行,最终获取运行结果返回(实际上python解释器可以理解为一个虚拟机环境)。编译器编译一个可以独立运行的文件,交给操作系统运行并获取结果。

Python安装之前:
安装的是Python 解释器。一般要将python放到PATH环境变量中,以保证运行的python程序都能够找到python解释器。解释器自带垃圾回收机制(垃圾回收机制的启动和运行对程序的效率影响很大,这是高阶内容)。
Python的安装:
Python的官方网站是python.org。一般是64位,推荐安装在C盘的根目录下边,然后安装过程中勾选将python的目录安装到PATH内。
Linux安装python:
一般Linux自带的python解释器是2.6或者2.7,但是系统自带的版本是一些系统服务的依赖,不能够简单直接升级,一般是另外再安装一个python3,然后可以用不同的路径和命令区分python3的执行。

Python的目录结构里:/srcipts/下边有几个可执行文件包含pip等文件,然后在安装目录下有python.exe和pythonw.exe

Python程序的运行方式:
一般用命令行模式,给python.exe 传源代码文件作为参数即可运行.
单独运行python.exe则是进入交互式解释模式.
在正常的公司开发中,一般都是采取前者方式.在linux方式也只能采取前者。
windows下配置PATH变量,可以从计算机管理高级中进去。

开始编写Python程序

第一个程序:

print("hello,world")
Hello world的来历
注意,python在单独执行程序的时候,对程序文件的后缀名没有要求,但以后在import导入模块的时候,还是需要用.py来命名.

Python的文件头:
#!/usr/bin/env python —->linux的执行可以用./的方式来执行程序,比如./2.py 所以程序的最前边是必须要指定解释器的位置.
这一条在windows下不起作用.
# -*- coding:utf8 -*- —->这个是用于2.7的时候指定编码为UTF-8,在现在的python3里,已经不需要了,因为python3已经默认就是UTF-8.
复习一下Unicode和UTF-8.

input(“提示内容”) 获取用户输入的值,是以字符串的形式.将这个字符串赋给一个变量,就可以拿到用户输入.

变量:指代一块内存地址的标签,计算机物理原理学过以后,对变量会有更好的理解.变量的赋值可以理解为将这个名字贴到一块内存地址上,那块地址上存放的就是赋给变量的值.
变量的名字就是标识符,和用于函数 ,类等的一样,只能由字母,数字和下划线组成,而且不能以数字开头.以下划线开头的变量名,最好不要随意使用.所有的标识符都不能用python的关键字.
python内置的名称,可以用自定义的变量名覆盖,但这样会让原来的内置函数失去功能.
显示关键字的程序:

import keyword
print(keyword.kwlist) 

条件语句:
分支与循环if elif else for while.
这些基本上都熟悉了.不需要执行的分支,可以用pass略过.

基本数据类型:
字符串,字符串每一个组成部分是字符,但是python里没有字符变量,不像C语言的char.python里单个字符也是字符串.字符串可以使用单引号,双引号,三单引号和三双引号,单引号里可以使用双引号,双引号里可以使用单引号,三引号里可是使用单引号和双引号.不想转义,除了用\以外,还可以在字符串前加r.
数值:
整型 浮点 虚数,都以及知道了.

然后是条件分支和循环语句,也比较清楚了
始终记得python的代码块开始的地方一定有一个冒号

练习都是很老套的了

#求1-100所有数的和
total = 0
i = 1

while i < 101:
    total += i
    i += 1

print(total)

#输出1-100内的所有奇数
for i in range(1, 101):
    if i % 2 == 1:
        print(i)

#输出1-100内的所有偶数
for i in range(1, 101):
    if i % 2 == 0:
        print(i)
#求1-2+3-4+5...99的结果

#可以看到,偶数减去,奇数加上,到99结束
total = 0
for i in range(1, 100):
    if i % 2 == 1:
        total += i
    else:
        total -= i
print(total)

#用户登录,三次机会
count = 0

while count < 3:
    a = input("Name:")
    b = input("Password:")
    if a == 'root' and b == '123':
        print("Logged in ")
        break
    else:
        print('Wrong name or password')
        count += 1
print("Log forbidden")

顺便还有配置autopep8的教程:
Pycharm中使用autopep8作为扩展工具
** 1.安装autopep8 **

pip install autopep8
** 2.Pycharm进行设置 **

Settings–>Tools–>External Tools 点击添加按钮Name:autopep8(可以自定义)

Tools settings:

Programs:这里实际上要找到python 下安装autopep8的地址,如果没有把autopep8的地址加入到path里,那么需要手工去选autopep8的位置

Parameters:--in-place --aggressive --aggressive $FilePath$
Working directory:$ProjectFileDir$

点击Output Files

点击添加,名称可以任意填写
Regular expression to match output:$FILE_PATH$:$LINE$:$COLUMN$:.*

LICENSED UNDER CC BY-NC-SA 4.0
Comment