Python起步
Python起步
Python解释器
-
什么是解释器?
解释器是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。它的执行方式是一边翻译一边执行,因此其执行效率一般偏低,但是解释器的实现较为简单,而且编写源程序的高级语言可以使用更加灵活和富于表现力的语法。
-
常用Python解释器:
- Cpython:默认是Cpython解释器,c语言实现
- IPython:基于CPython之上的一个交互式解释器
- Jpython:java实现,Python代码会先转化成Java字节码
- PyPy:python实现的python解释器,pypy运行效率高
- 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
-
标识符
命名规范:
- 变量名只能是字母、数字、下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名:
-
注释
单行
#
多行
''' xxx '''
""" xxx """
-
引用字符串
- 单引 ' '
- 双引 " "
- 三引 """ """ / ''' '''
-
语法规则
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种方式)
- 右击-> run filename(Ctrl+Shift+F10):运行的是当前页面的脚本
- Shift+F10:运行的是上一次运行的脚本
- Run-> fun filename:运行的是上一次运行的脚本
- 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编码风格
- 使用4个空格的缩进,不要使用制表符(Tab键)。
- 折行以确保其不会超过79个字符。这有助于小显示器用户阅读,也可以让大显示器能并排显示几个代码文件。
- 使用空行分隔函数和类,以及函数内的大块代码。
- 如果可能,注释独占一行。
- 使用文档字符串。
- 运算符周围和逗号后面使用空格,但是括号里侧不加空格: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

浙公网安备 33010602011771号