1.Python基础语法

1.1 Python语言历史与趋势剖析

• 1991年第一个Python编译器(也是解释器)诞生
• Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器。
• Python 是解释性、面向对象、直译式、动态数据类型的高级程序设计语言,也是一种功能强大而完善的通用型语言。
• Python语法简明清晰和开发效率高

1.2 Python语言版本介绍

• Python发展至今有两个主要版本,分别是Python 2和Python 3。
• Python 2发布于2000年年底,语法更加清晰和更具包容性。
• Python 3于2008年年末发布,以解决和修正以前语言版本的内在设计缺陷。
• 对Python 3.0的主要修改包括将print语句更改为内置函数,改进整数分割的方式,并对Unicode 提供更多的支持。

1.3 Python下载与安装

• 下载地址:
Python官网:https://www.python.org/downloads/
Python文档下载地址:https://www.python.org/doc/

1.3.1 Window 平台安装 Python:

(1)打开 WEB 浏览器访问 https://www.python.org/downloads/windows/ ;
(2)在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件, XYZ 为你要安装的版本号;
(3)要使用安装程序 python-XYZ.msi, Windows 系统必须支持 Microsoft Installer 2.0 搭配使用。只要保存安装文件到本地计算机,然后运行它,看看你的机器支持 MSI;
(4)下载后,双击下载包,进入 Python 安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。

1.3.2 Linux 平台安装 Python:

✓ 打开 WEB 浏览器访问https://www.python.org/downloads/source/
✓ 选择适用 于Unix/Linux 的源码压缩包。
✓ 下载及解压压缩包。
✓ 如果你需要自定义一些选项修改Modules/Setup
✓ 执行 ./configure 脚本
✓ make
✓ make install
✓ 执行以上操作后,Python 会安装在 /usr/local/bin 目录中,Python 库安装在/usr/local/lib/pythonXX,XX 为你使用的Python 的版本号。

1.4 如何运行Python程序

1.5 Python与IPython基础

• Python 解释器不止一种,有CPython、IPython、Jython、PyPy等。
• 顾名思义,CPython就是用C 语言开发的,是官方标准实现,拥有良好的生态,所以应用最为广泛。
• 而 IPython 是在 CPython的基础之上在交互式方面得到增强的解释器(http://ipython.org/)。
• Jython 是专为Java 平台设计的Python 解释器(http://www.jython.org/),它把Python代码编译成 Java 字节码执行。
• PyPy 是 Python 语言(2.7.13和3.5.3)的一种快速、兼容的替代实现(http://pypy.org/),以速度快著称。

1.6 PyCharm开发环境介绍

• 下载地址:https://download.jetbrains.8686c.com/python/pycharm-community-2017.1.4.exe
• 双击安装:

1.7 Anaconda3开发环境介绍

• 下载地址:https://repo.continuum.io/archive/Anaconda3-4.4.0-Windows-x86_64.exe
• 双击安装:

Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学计算包及其依赖项,Anaconda通过管理工具包、开发环境、Python版本,简化了Python的安装部署工作流程。

1.8 pip

• pip是一个通用的Python包管理工具。提供了对Python包的查找、下载、安装、卸载的功能。
• pip示例

1.9 Python语言help()命令

1.10 Python标识符

• 在Python语言中标识符由英文字母、数字以及下划线(_)组成,但不能以数字开头,标识符是区分大小写的。
• 以下划线开头的标识符是有特殊意义。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import * 而导入;
• 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __ foo __ 代表Python里特殊方法专用的标识,如 __ init __() 代表类的构造函数。

1.11 Python行和缩进

• Python语言与其他语言最大的区别是:Python 的代码块不使用大括号 {} 来控制代码块,如类、函数、循环以及其他逻辑判断。
• Python则是采用缩进来控制代码模块。

1.12 多行语句

• Python语句中一般以新行作为语句的结束符。但是可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

• 如果语句中包含 []、{} 或 () 括号就不需要使用多行连接符。如下实例:

1.13 实验:

In:

import sys
a = 1
print(a)

out:

1

In:

pip install requests

out:

Requirement already satisfied: requests in d:\programdata\anaconda3\lib\site-packages (2.22.0)
Requirement already satisfied: idna<2.9,>=2.5 in d:\programdata\anaconda3\lib\site-packages (from requests) (2.8)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in d:\programdata\anaconda3\lib\site-packages (from requests) (1.24.2)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in d:\programdata\anaconda3\lib\site-packages (from requests) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in d:\programdata\anaconda3\lib\site-packages (from requests) (2019.9.11)
Note: you may need to restart the kernel to use updated packages.

In:

help()

out:

Welcome to Python 3.7's help utility!

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at https://docs.python.org/3.7/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type
"modules", "keywords", "symbols", or "topics".  Each module also comes
with a one-line summary of what it does; to list the modules whose name
or summary contain a given string such as "spam", type "modules spam".

help> sys
Help on built-in module sys:

NAME
    sys

MODULE REFERENCE
    https://docs.python.org/3.7/library/sys
    
    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.
    
    Dynamic objects:
    
    argv -- command line arguments; argv[0] is the script pathname if known
    path -- module search path; path[0] is the script directory, else ''
    modules -- dictionary of loaded modules
    
    displayhook -- called to show results in an interactive session
    excepthook -- called to handle any uncaught exception other than SystemExit
      To customize printing in an interactive session or to install a custom
      top-level exception handler, assign other functions to replace these.
    
    stdin -- standard input file object; used by input()
    stdout -- standard output file object; used by print()
    stderr -- standard error object; used for error messages
      By assigning other file objects (or objects that behave like files)
      to these, it is possible to redirect all of the interpreter's I/O.
    
    last_type -- type of last uncaught exception
    last_value -- value of last uncaught exception
    last_traceback -- traceback of last uncaught exception
      These three are only available in an interactive session after a
      traceback has been printed.
    
    Static objects:
    
    builtin_module_names -- tuple of module names built into this interpreter
    copyright -- copyright notice pertaining to this interpreter
    exec_prefix -- prefix used to find the machine-specific Python library
    executable -- absolute path of the executable binary of the Python interpreter
    float_info -- a struct sequence with information about the float implementation.
    float_repr_style -- string indicating the style of repr() output for floats
    hash_info -- a struct sequence with information about the hash algorithm.
    hexversion -- version information encoded as a single integer
    implementation -- Python implementation information.
    int_info -- a struct sequence with information about the int implementation.
    maxsize -- the largest supported length of containers.
    maxunicode -- the value of the largest Unicode code point
    platform -- platform identifier
    prefix -- prefix used to find the Python library
    thread_info -- a struct sequence with information about the thread implementation.
    version -- the version of this interpreter as a string
    version_info -- version information as a named tuple
    dllhandle -- [Windows only] integer handle of the Python DLL
    winver -- [Windows only] version number of the Python DLL
    _enablelegacywindowsfsencoding -- [Windows only] 
    __stdin__ -- the original stdin; don't touch!
    __stdout__ -- the original stdout; don't touch!
    __stderr__ -- the original stderr; don't touch!
    __displayhook__ -- the original displayhook; don't touch!
    __excepthook__ -- the original excepthook; don't touch!
    
    Functions:
    
    displayhook() -- print an object to the screen, and save it in builtins._
    excepthook() -- print an exception and its traceback to sys.stderr
    exc_info() -- return thread-safe information about the current exception
    exit() -- exit the interpreter by raising SystemExit
    getdlopenflags() -- returns flags to be used for dlopen() calls
    getprofile() -- get the global profiling function
    getrefcount() -- return the reference count for an object (plus one :-)
    getrecursionlimit() -- return the max recursion depth for the interpreter
    getsizeof() -- return the size of an object in bytes
    gettrace() -- get the global debug tracing function
    setcheckinterval() -- control how often the interpreter checks for events
    setdlopenflags() -- set the flags to be used for dlopen() calls
    setprofile() -- set the global profiling function
    setrecursionlimit() -- set the max recursion depth for the interpreter
    settrace() -- set the global debug tracing function

FUNCTIONS
    __breakpointhook__ = breakpointhook(...)
        breakpointhook(*args, **kws)
        
        This hook function is called by built-in breakpoint().
    
    __displayhook__ = displayhook(...)
        displayhook(object) -> None
        
        Print an object to sys.stdout and also save it in builtins._
    
    __excepthook__ = excepthook(...)
        excepthook(exctype, value, traceback) -> None
        
        Handle an exception by displaying it with a traceback on sys.stderr.
    
    breakpointhook(...)
        breakpointhook(*args, **kws)
        
        This hook function is called by built-in breakpoint().
    
    call_tracing(...)
        call_tracing(func, args) -> object
        
        Call func(*args), while tracing is enabled.  The tracing state is
        saved, and restored afterwards.  This is intended to be called from
        a debugger from a checkpoint, to recursively debug some other code.
    
    callstats(...)
        callstats() -> tuple of integers
        
        Return a tuple of function call statistics, if CALL_PROFILE was defined
        when Python was built.  Otherwise, return None.
        
        When enabled, this function returns detailed, implementation-specific
        details about the number of function calls executed. The return value is
        a 11-tuple where the entries in the tuple are counts of:
        0. all function calls
        1. calls to PyFunction_Type objects
        2. PyFunction calls that do not create an argument tuple
        3. PyFunction calls that do not create an argument tuple
           and bypass PyEval_EvalCodeEx()
        4. PyMethod calls
        5. PyMethod calls on bound methods
        6. PyType calls
        7. PyCFunction calls
        8. generator calls
        9. All other calls
        10. Number of stack pops performed by call_function()
    
    exc_info(...)
        exc_info() -> (type, value, traceback)
        
        Return information about the most recent exception caught by an except
        clause in the current stack frame or in an older stack frame.
    
    exit(...)
        exit([status])
        
        Exit the interpreter by raising SystemExit(status).
        If the status is omitted or None, it defaults to zero (i.e., success).
        If the status is an integer, it will be used as the system exit status.
        If it is another kind of object, it will be printed and the system
        exit status will be one (i.e., failure).
    
    get_asyncgen_hooks(...)
        get_asyncgen_hooks()
        
        Return a namedtuple of installed asynchronous generators hooks (firstiter, finalizer).
    
    get_coroutine_origin_tracking_depth()
        Check status of origin tracking for coroutine objects in this thread.
    
    get_coroutine_wrapper(...)
        get_coroutine_wrapper()
        
        Return the wrapper for coroutine objects set by sys.set_coroutine_wrapper.
    
    getallocatedblocks(...)
        getallocatedblocks() -> integer
        
        Return the number of memory blocks currently allocated, regardless of their
        size.
    
    getcheckinterval(...)
        getcheckinterval() -> current check interval; see setcheckinterval().
    
    getdefaultencoding(...)
        getdefaultencoding() -> string
        
        Return the current default string encoding used by the Unicode 
        implementation.
    
    getfilesystemencodeerrors(...)
        getfilesystemencodeerrors() -> string
        
        Return the error mode used to convert Unicode filenames in
        operating system filenames.
    
    getfilesystemencoding(...)
        getfilesystemencoding() -> string
        
        Return the encoding used to convert Unicode filenames in
        operating system filenames.
    
    getprofile(...)
        getprofile()
        
        Return the profiling function set with sys.setprofile.
        See the profiler chapter in the library manual.
    
    getrecursionlimit(...)
        getrecursionlimit()
        
        Return the current value of the recursion limit, the maximum depth
        of the Python interpreter stack.  This limit prevents infinite
        recursion from causing an overflow of the C stack and crashing Python.
    
    getrefcount(...)
        getrefcount(object) -> integer
        
        Return the reference count of object.  The count returned is generally
        one higher than you might expect, because it includes the (temporary)
        reference as an argument to getrefcount().
    
    getsizeof(...)
        getsizeof(object, default) -> int
        
        Return the size of object in bytes.
    
    getswitchinterval(...)
        getswitchinterval() -> current thread switch interval; see setswitchinterval().
    
    gettrace(...)
        gettrace()
        
        Return the global debug tracing function set with sys.settrace.
        See the debugger chapter in the library manual.
    
    getwindowsversion(...)
        getwindowsversion()
        
        Return information about the running version of Windows as a named tuple.
        The members are named: major, minor, build, platform, service_pack,
        service_pack_major, service_pack_minor, suite_mask, and product_type. For
        backward compatibility, only the first 5 items are available by indexing.
        All elements are numbers, except service_pack and platform_type which are
        strings, and platform_version which is a 3-tuple. Platform is always 2.
        Product_type may be 1 for a workstation, 2 for a domain controller, 3 for a
        server. Platform_version is a 3-tuple containing a version number that is
        intended for identifying the OS rather than feature detection.
    
    intern(...)
        intern(string) -> string
        
        ``Intern'' the given string.  This enters the string in the (global)
        table of interned strings whose purpose is to speed up dictionary lookups.
        Return the string itself or the previously interned string object with the
        same value.
    
    is_finalizing(...)
        is_finalizing()
        Return True if Python is exiting.
    
    set_asyncgen_hooks(...)
        set_asyncgen_hooks(*, firstiter=None, finalizer=None)
        
        Set a finalizer for async generators objects.
    
    set_coroutine_origin_tracking_depth(depth)
        Enable or disable origin tracking for coroutine objects in this thread.
        
        Coroutine objects will track 'depth' frames of traceback information about
        where they came from, available in their cr_origin attribute. Set depth of 0
        to disable.
    
    set_coroutine_wrapper(...)
        set_coroutine_wrapper(wrapper)
        
        Set a wrapper for coroutine objects.
    
    setcheckinterval(...)
        setcheckinterval(n)
        
        Tell the Python interpreter to check for asynchronous events every
        n instructions.  This also affects how often thread switches occur.
    
    setprofile(...)
        setprofile(function)
        
        Set the profiling function.  It will be called on each function call
        and return.  See the profiler chapter in the library manual.
    
    setrecursionlimit(...)
        setrecursionlimit(n)
        
        Set the maximum depth of the Python interpreter stack to n.  This
        limit prevents infinite recursion from causing an overflow of the C
        stack and crashing Python.  The highest possible limit is platform-
        dependent.
    
    setswitchinterval(...)
        setswitchinterval(n)
        
        Set the ideal thread switching delay inside the Python interpreter
        The actual frequency of switching threads can be lower if the
        interpreter executes long sequences of uninterruptible code
        (this is implementation-specific and workload-dependent).
        
        The parameter must represent the desired switching delay in seconds
        A typical value is 0.005 (5 milliseconds).
    
    settrace(...)
        settrace(function)
        
        Set the global debug tracing function.  It will be called on each
        function call.  See the debugger chapter in the library manual.

DATA
    __stderr__ = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf...
    __stdin__ = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp936...
    __stdout__ = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf...
    api_version = 1013
    argv = [r'D:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launche...
    base_exec_prefix = r'D:\ProgramData\Anaconda3'
    base_prefix = r'D:\ProgramData\Anaconda3'
    builtin_module_names = ('_abc', '_ast', '_bisect', '_blake2', '_codecs...
    byteorder = 'little'
    copyright = 'Copyright (c) 2001-2019 Python Software Foundati...ematis...
    displayhook = <ipykernel.displayhook.ZMQShellDisplayHook object>
    dllhandle = 140727691837440
    dont_write_bytecode = False
    exec_prefix = r'D:\ProgramData\Anaconda3'
    executable = r'D:\ProgramData\Anaconda3\python.exe'
    flags = sys.flags(debug=0, inspect=0, interactive=0, opt...ation=1, is...
    float_info = sys.float_info(max=1.7976931348623157e+308, max_...epsilo...
    float_repr_style = 'short'
    hash_info = sys.hash_info(width=64, modulus=2305843009213693...iphash2...
    hexversion = 50791664
    implementation = namespace(cache_tag='cpython-37', hexversion=507...in...
    int_info = sys.int_info(bits_per_digit=30, sizeof_digit=4)
    maxsize = 9223372036854775807
    maxunicode = 1114111
    meta_path = [<class '_frozen_importlib.BuiltinImporter'>, <class '_fro...
    modules = {'IPython': <module 'IPython' from 'D:\\ProgramData\\Anacond...
    path = [r'D:\Python\Course\current_todo', r'D:\ProgramData\Anaconda3\p...
    path_hooks = [<class 'zipimport.zipimporter'>, <function FileFinder.pa...
    path_importer_cache = {r'C:\Users\THINKPAD\.ipython': FileFinder('C:\\...
    platform = 'win32'
    prefix = r'D:\ProgramData\Anaconda3'
    ps1 = 'In : '
    ps2 = '...: '
    ps3 = 'Out: '
    stderr = <ipykernel.iostream.OutStream object>
    stdin = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='cp936'>
    stdout = <ipykernel.iostream.OutStream object>
    thread_info = sys.thread_info(name='nt', lock=None, version=None)
    version = '3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (...
    version_info = sys.version_info(major=3, minor=7, micro=4, releaseleve...
    warnoptions = []
    winver = '3.7'

FILE
    (built-in)

​ In:

help(print)

out:

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.

​ In:

a = 1
b = 3
if a == 1:
    if b != 2:
        print("yes")

out:

yes

In:

c = "a "+\
","+\
"b"
print(c)

out:

a ,b

In:

l1 = [1.2,
     3]
print(l1)

out:

[1.2, 3]

In:

a1 = "1,2,3"
a2 = '1,2,3'
a1 == a2

out:

True

In:

sql_str = "select name from tqble1 where type = '1'"

print(sql_str)

out:

select name from tqble1 where type = '1'

In:

# print(a)
'''
print(a)
'''
"""
print(a)
"""

out:

'\nprint(a)\n'

In:

def fun1():
    print(123)

def fun2():
    print(456)

In:

a=1;b=2

In:

# 避免关键字作为标识符
list = [1,2,3]

In:

list(set([1,2,3]))

out:

[1, 2, 3]

In:

a=1
b=a

In:

del a

In:

print(a)
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-4-bca0e2660b9f> in <module>
----> 1 print(a)
NameError: name 'a' is not defined

In:

a=1
float(a)

out:

1.0

In:

123/4

out:

30.75

In:

123//4

out:

30

In:

round(123/4)

out:

31

In:

a1 = [1,2,3,4,5]
a1[::2]

out:

[1, 3, 5]

In:

print(2**3)

out:

8
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值