python入门、基础知识及运行环境布置

本文介绍了Python编程的基础知识,包括Python的起源、版本、哲学以及PEP8编码规范。讨论了Python在人工智能和数据科学中的重要性,强调了Python库的丰富性。文章详细讲解了Python的安装、版本选择、Anaconda的使用以及Python开发工具如PyCharm和Notepad++的安装。此外,还涵盖了Python的基础语法,如数据类型(如字符串、列表、元组、字典和集合)、变量、运算符、流程控制、函数和模块的使用,以及面向对象编程的基本概念。最后提到了错误处理、文件操作和JSON序列化与反序列化的介绍。
摘要由CSDN通过智能技术生成

最近在开始学习python,以下分享一下python的基础知识,包括软件下载,python的基础语法知识,以及第三方库的引用等基础知识。

  1. Python快速入门
    1. 认识python

诞生于1991年,足足有28年

2008年新出炉python3.0

python2.x

python3.x

python之父

python改进方案 PEPs.

python的改进由PEP流程收集社区意见,将来打算加入的新特性提出文档提案,由社区和Guido审阅评估,决定是否成为正式的PEP 文档,PEP是对python改进遵守的标准

PEP8就是程序代码风格 PEP20 python哲学

经验丰富的程序员倡导尽可能避繁就简。

import this

 

 

https://i-blog.csdnimg.cn/blog_migrate/d56836c499fe3da6b31f92ced5e6b631.pnghttps://i-blog.csdnimg.cn/blog_migrate/a7511c5e73ae9222fb561473dad44b60.jpeg

python蟒蛇取自吉多喜欢的电视剧里面的名字

 

 

 

    1. 为什么用python

Python是一种计算机通用的程序设计语言。现在有多种流行的编程语言,比如控制硬件的C语言,web后台开发的Java语言,网页编程的JavaScript语言等等。但是Python和人工智能及数据科学联系在了一起是因为提供了人工智能及数据科学家所需的所有必要功能,并能够与诸如Hadoop和Spark等工具很好地融合在一起。

让我们看看它是如何做到这点的。

学人工智能数据科学要用到python,这里只是强调了python库的丰富性。开发人员一直在使用python数据包来提供更多的功能,这使python成为一个不错的选择。

 

    1. python的实现

CPython是python的官方参考实现,一般安装python没特别声明,多半是安装CPython,顾名思义用c语言编写的软件产品.

python是解释型语言,不过并非每次都从源码直接解释后再执行,CPython会将源码解释为字节码,然后由虚拟机执行,也就是之后再次执行同一个程序,如果源码文件被检测到没有更改,就不会再对源码重头进行语法和语义解析等操作,而是从字节码开始直接解释,以加快解释执行速度.

其他还有 PyPy、Jython等等其他软件产品

 

    1. 下载并安装Anaconda
      1. 安装python(略过)

Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的

由于3.x版越来越普及,我们以最新的Python 3.x版本为基础。

在Python中,安装第三方模块库,是通过包管理工具pip完成的

 

      1. 安装Anaconda

Anaconda是一个基于Python的数据处理和科学计算平台,它内置了许多非常有用的第三方库,我们装上Anaconda,就相当于750+流行的Python&R包自动安装好了,跨平台,有可扩展管理工具conda,非常简单易用,免费分发,有非常活跃的社区。

 

 

Python开发方式有两种:

  1. 写程序写在一个文件中然后编译再执行   工具:记事本、pycharm
  2. 交互式编程 写一行代码执行一行 方便调试 工具:终端、jupyter notebook

 

 

 

 

    1. 使用REPL(python shell)交互式编程

_代表上一次的运算结果

输入 keyword

Sum

Int

float

 

 

    1. 脚本式编程,编写python源码

注意:

python3之后 预期的源码编码必须是utf-8

python2 预期的源码编码是ascii 

# coding, xxx

# -*- coding: GBK -*-

 

编码统一使用UTF-8

 

Notepad++ 设置->首选项->新建

新建文件时注意看右下角

 

    1. 使用IDE

使用JetBrain公司的python IDE

      1. 下载并安装pycharm

 

实验:

  1. 安装anaconda  先下载再安装
  2. 安装notepad++ 新建文件设置为utf8

 

  1. python类型和运算符
    1. 内建类型
      1. python是多范式语言:

面向过程

面向对象

函数式

所有数据都是对象

用直接表示法来编写数值,能用直接表示法来建立实例的类型就是内建类型

      1. 数值类型

所有的数据都是对象

用直接表示法编写数值.

整数类型举例

>>> 10

10

>>> 0b1010

10

>>> 0o12

10
>>> 0xa

10

>>> type(10)

<class 'int'>

>>> type(0b1010)

<class 'int'>

>>> int('10')

10

>>> int (3.14)

3

>>> int(True)

1

>>> oct(10)

'0o12'

>>> hex(10)

'0xa'

>>>

 

 

 

 

 

      1. 浮点数

举例

 

>>> type(3.14)
<class 'float'>

>>> 3.14e-10

3.14e-10

>>> float('3.14')

3.14

>>> int('3.14')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: invalid literal for int() with base 10: '3.14'

>>> int(float('3.14'))

3

>>>

 

      1. 布尔类型

True

False

None(类似Null)、False、0、0.0、0j(复数)、’’空字符串、()空元组、[]空列表、{}空字典等传入bool(),都返回False,若这些类型的其他值传入bool(),都返回True.

举例

>>> bool(None)

False

>>> bool(0)

False

>>> bool('')

False

>>> bool(0j)

False

>>> bool('hello')
True

>>>

 

      1. 字符串

用’’或””来括住字符串,两者作用相同

举例

用’’或””不可以换行,必须换行用’’’ 三重引号

举例

>>> 'farsight'

'farsight'

>>> 'sz"farsight'

'sz"farsight'

>>> print('sz"farsight')

sz"farsight

>>> print('c:\fs')

c:
s

>>> print('c:\\fs')
c:\fs

>>> 'abc

  File "<stdin>", line 1

    'abc

       ^

SyntaxError: EOL while scanning string literal

>>> ''' abc

... def

... hij

... klm

... '''
' abc\ndef \nhij\nklm\n'

>>> print('''abc

... def

... hij''')

abc

def

hij

>>>


 

        1. 格式化字符串
>>> 'hello,%s world'%'python'

'hello,python world'

>>> '你目前的存款%f'%500.5

'你目前的存款500.500000'

>>> '%d/%d=%f'%(10,3,10/3)

'10/3=3.333333'

 

 

python3建议用的格式

举例

>>> '{}/{}={}'.format(10,3,10/3)

'10/3=3.3333333333333335'

>>>

 

        1. str和byte解决编码问题

python3支持unicode,每个字符都包含了unicode字符

举例

>>> text='钟'

>>> len(text) #python3 unicode char

1

>>> text.encode('UTF-8')

b'\xe9\x92\x9f'

>>> text.encode('gbk')

b'\xd6\xd3'

>>> gkb_imp=text.encode('gbk')

>>> gkb_imp

b'\xd6\xd3'

>>> gkb_imp.decode('gbk')

'钟'

>>> gkb_imp.decode('utf-8')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation by

te

>>>

可理解的东西变为不容易理解的东西就是编码 encode,反之decode

 

python2用索引获取的字符串值其实是存取某个位置的字节.

python3用索引获取的字符串值其实是存取某个位置的字符.

举例

>>> text='创建不可修改'

>>> text[0]

''

>>> text[1]

''

>>> '' in text

True

>>> 'a' in text

False

>>>

 

 

python2,3中字符串是不可变动的,一旦创建不可修改

 

 

 

 

 

 

    1. 群集类型(内建的数据结构)

编程过程中需要用不同的数据结构来收集数据,在python不用别的标准库,语言本身就直接支持,这也是易于使用的原因之一.

 

      1. 列表

特性有序,具有索引,内容和长度可变.用[]直接表示法,列表每个元素(,)分割开

举例

只有可迭代对象才可创建列表

举例

>>> nums=[1,2,3]

>>> nums

[1, 2, 3]

>>> len(nums)

3

>>> nums[1]

2

>>> nums[3]=0

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

IndexError: list assignment index out of range

>>> nums.append(4)

>>> nums

[1, 2, 3, 4]

>>> nums[3]=0

>>> nums

[1, 2, 3, 0]

>>> nums.remove(0)

>>> nums

[1, 2, 3]

>>> del nums[0]

>>> nums

[2, 3]

>>> 2 in nums

True

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值