Python起步

Python起步

Python解释器

  • 什么是解释器?

    解释器是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。它的执行方式是一边翻译一边执行,因此其执行效率一般偏低,但是解释器的实现较为简单,而且编写源程序的高级语言可以使用更加灵活和富于表现力的语法。
 
  • 常用Python解释器:

  1.     Cpython:默认是Cpython解释器,c语言实现
  2.     IPython:基于CPython之上的一个交互式解释器
  3.     Jpython:java实现,Python代码会先转化成Java字节码
  4.     PyPy:python实现的python解释器,pypy运行效率高
  5.     IronPython:c#实现
    

Python基本语法

  • 提示符

  >>>
    命令行键入Python语句的主要提示符
  ...
    Python语句的次要提示符
  \
    续行符号
 
  • 赋值

  1. 直接赋值
>>> A = 1
>>> A = 'a'

  2. 连续赋值

>>> A = B =1

  3. 多项赋值

>>> A,B,C = 1,2,3
  • 引用机制

  在Python中,对象是通过引用传递的。如果要使用一个变量,不需要提前进行声明,只需要在用的时候,给这个变量赋值即可 (与C语言不同,C语言为静态类型,而Python为动态类型)。在赋值时,不管赋值给这个变量的这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给这个变量,即这个变量引用了这个对象。
>>> A = 1  #A->1
>>> id(A)
140704750723728
>>> A = 2  #A->2,此时A不在指向1的地址
>>> id(A)
140704750723760
>>> A = B = 1  #A和B指向同一个地址
>>> id(A)
140704750723728
>>> id(B)
140704750723728
>>> C = 1
>>> D = 1  #C和D也指向同一个地址
>>> id(C)
140704750723728
>>> id(D)
140704750723728

  对于语言来说,频繁的进行对象的销毁和建立,会特别浪费性能。所以在Python中,对于整数和短小的字符,Python都会缓存这些对象,以便重复使用,所以这些对象的地址一般不变,比如整数1。除此之外的对象的地址都是不固定的,比如字符串“reference count”。

#A和B指向同一个地址,实际上相当于B = 'reference count',然后再A = B
>>> A = B = 'reference count'  
>>> id(A)
2041320553392
>>> id(B)
2041320553392
#C和D虽然都被赋值'reference count',但指向的是不同的地址
>>> C = 'reference count'
>>> D = 'reference count'
>>> id(C)
2041320553456
>>> id(D)
2041320553904
  • 标识符

  
  命名规范:
  1. 变量名只能是字母、数字、下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 以下关键字不能声明为变量名:
  'and','as','assert','break','class','continue','def','del,'elif','else','except','exec','finally','for','from','global','if','import','in','is','lambda','not','or','pass','print','raise','return','try','while','with','yield'
  • 注释

            单行
                    #
     多行
            ''' xxx '''
              """ xxx """
 
  • 引用字符串

  1.     单引 ' '
  2.     双引  " "
  3.     三引  """ """ / ''' '''
 
  • 语法规则

  1.    代码段:用缩进的方式来区分代码段,建议以4个空格来缩进
  2. 换行:回车换行,行末可以加“;”
  3.    续航:\
  4.    一行写多条语句:用“;”来分隔
  5.    执行:交互式(jupyter)/文件方式(pycharm)
例如:
   

ipython

  • 安装

   pip install ipython
  • 使用

     进入ipython
  自动补齐
          敲命令+Tab
 
  Ctrl+R进入历史命令搜索模式
 
  • 常见问题

  ipython7+的必须要python3.5+,并且需要修改环境变量
 

常用内建函数

  • id:查看对象的内存地址

>>> a = 'reference count'
>>> id(a)
2000543576816
  • help:查看对象的帮助信息

>>> help(print)
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.    
  • dir:查看对象的属性方法

>>> dir(a)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
  • type:查看对象的类型

>>> type(123)
<class 'int'>
>>> type('123')
<class 'str'>
>>>

PyCharm

  • 创建项目

File -> New Porject
  • 新建Python文件

右击目录 -> New -> Python File

  • 运行python脚本(4种方式)

  1.     右击-> run filename(Ctrl+Shift+F10):运行的是当前页面的脚本
  2.     Shift+F10:运行的是上一次运行的脚本
  3.     Run-> fun filename:运行的是上一次运行的脚本
  4.     Terminal> python  filename.py
  • 配置文件模板

  每个脚本都需要写的一些备注信息,可以通过模板实现,类似于PPT的母板 
File-Settings
  • 配置颜色和字体

   
  • 常见问题

配置好项目的Python解释器
  • 基本操作

    ctrl+D => 复制
    ctrl+Y => 删除
    ctrl+/ => 注释/解注释
    ctrl+悬浮/单击鼠标左键 => 简介/进入代码定义
    ctrl+/ => 行注释/取消行注释
    ctrl+Shift+/ => 块注释
    ctrl+Alt+L => 代码格式化
    ctrl+D => 复制选定的区域或行
    ctrl+R => 替换
    shift+F10 => 运行

Python的输入输出

  • 输入

            input
      内建:不需要导入
      input(xxx),输入的时候会显示
      input()接收的所有数据都是str类型
            getpass模块
      标准库:不需要安装,需要导入
      getpass.getpass(xxx),适合类似于密码->输入的时候需要隐藏
      注意:该模块要在命令行执行,如cmd,jupyter,ipython
      getpass.getpass()接收的数据都是str类型,字符串类型
    python2中的输入
            input
                        接收int类型,整型数据
            raw_input
                        接收str类型,字符串类型
  • 输出

            print
help(print) ---> 查看帮助信息
                 1.    value参数
                 2.    sep参数
                            指定values的分隔符
>>> print('a','b',sep='c')
acb
                3.    end参数
                            追加的结束符,默认是:\n
>>> print('a', 'b', end='c')
abc
                4.    flush参数
                            flush=False
                            放到缓冲区
                            flush=True
                            实时输出
                5.    file参数
                            指定输出目标位置

Python编码风格

  1. 使用4个空格的缩进,不要使用制表符(Tab键)。
  2. 折行以确保其不会超过79个字符。这有助于小显示器用户阅读,也可以让大显示器能并排显示几个代码文件。
  3. 使用空行分隔函数和类,以及函数内的大块代码。
  4. 如果可能,注释独占一行。
  5. 使用文档字符串。
  6. 运算符周围和逗号后面使用空格,但是括号里侧不加空格:a=f(1,2)+g(3,4)。
  • flake8语法检查工具

        安装
                pip install flake8
        使用
                在命令行敲 flake8 file.py
  • Pycharm语法检查工具

        菜单操作
                Code->ReformatCode
        快捷键
                ctrl+alt+L
  • pycodestyle语法检查工具

        安装
                pip install pycodestyle
        使用
                pycodestyle codestyle test.py
posted @ 2019-05-12 16:42  我就看一眼  阅读(143)  评论(0)    收藏  举报