一、python介绍

  1.python是一门动态解释性的强类型定义语言;

  简单解释一下:

    定义变量不需要定义类型的为动态语言:典型的有Python和Ruby,反之定义变量需要定义类型的为静态语言:典型的有Java,C、C++;

    解释型对应还有种编译型语言:(以java为类)编译型语言需要把我们编写的源代码文件.java通过编译器 编译成可执行的.class文件,才可以运行,也就是说必须把所有源文件全部编译成可执行文件才可以运行程序,而解释性语言是一边编译一边执行,不需要把所有的编译完在执行,Python就是这样的一种语言

    强类型定义语言是指变量一旦指定某个数据类型,不经过强行转化一直保持这个类型,是类型安全语言;弱类型定义语言与之相反;

    注意:强类型定义语言在速度上逊色于弱类型语言,但是可以有效的避免很多错误。一门语言是否安全与是否动态语言没有任何关系,比如java就是静态语言,但也是强类型语言,也是类型安全语言 

  2.python语言的优缺点:

    优点:1>Python的定位是"优雅"、"明确"、"简单"

       2>开发效率非常高

       3>高级语言

       4>可移植性

       5>可扩展性  

       6>可嵌入性

    缺点:1>速度慢

       2>代码不能加密

       3>线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。

  3.Python解释器:

    CPython、IPython、PyPy(运行速度快)、JPython、IronPython

    Python解释器很多,但是用最广泛的还是CPython,如果要和java或者.net平台交互,做好的办法不是使用JPython或IronPytho,而是通过网络交互,确保各程序之间的独立性。

二、Python基础语法

  1.Python源文件头部 #!/usr/bin/python  和 #!/usr/bin/env python 的区别

    前者表示写死了目录就是/usr/bin/python,这样写不利于可移植性;后者是去机器的path路径中找指定的第一个python来执行你的脚本;

  2.变量定义;
    1>python每行代码结束不用加分号,加也不会报错
    2>不需要申明数据类型,直接定义例如:name=“Helllo world”
    3>常亮定义时,变量名大写 例如:PIP=1
    4>变量名规则和java一样,字母数字下划线,不能以数字开头,不能用python关键词,对于多个单词组成的变量名,官方建议用下划线连接;但是驼峰式也是正确的1。
  3.python输出:
    1>在python3里面为print() 在python2里面直接print"" 就可以
    2>同时输出多个,可用逗号分隔,也可以用加号连接;
  4.python注释:
    1>单行注释用井号 #
    2>多好注释前后三个引号 ''' ''' 或者 """ """
    3>三个引号也可以用于多个字符串的输出
  5.字符编码:
    1>python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
    2>ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
    3>ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode;
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
    4>python3中默认编码格式为Unicode;指定编码格式# -*- coding: utf-8 -*-

    

  6.用户输入;
    1>用input()函数 例如 name=input(name:)
    2>可以用三个引号格式化输出;例如

     

    3>除了用加号拼结字符串,还可以利用占位符 %s(字符型),%d(必须整型),%f(浮点型)来拼结接字符串;
所有输入的类型默认为str类型,转整型用 int() ,转字符串用 str() 例如 :

     

    4>python中打印数据类型用函数type() 例如 : print(type(22))

    5>最常用的两种字符串 :

                     

    6>密文输入密码,需要导入表中模块 getpass中的getpass方法,但这个方法在工具PyCharm中不好使,可以在python自带的命令行中执行

     

  7.python中的if条件语法: if 条件 冒号 elif 条件 冒号 else 冒号

  

  8.python中white的语法 white 条件 冒号 else 冒号

  

  9.python中for循环语法 for i in range() 冒号 else 冒号

  

  10.for循环特殊用法:for i in rang(起始数,结束数,间隔数)

  

  11.sys模块和os模块介绍

    1>#path: 系统环境变量

    print(sys.path)

    2>#argv 获取当前文件的绝对路径

        print(sys.argv)

     3>#os.system调用当前系统的命令,但是只是执行命令,不保存结果

    cmd_rs=os.system('dir')
    os.system('ping')
   4>#popen()执行命令并保存结果,必须使用read()方法读取
     cmd_rs=os.popen('dir').read()
     print('=======>',cmd_rs)
  5>#os.makedirs创建多级目录,相对路径就是当前目录下创建,也可以写绝对路径
    os.makedirs('new_python\\files_1\\files_2\\files_3')
    os.makedirs('d:\\new_python\\files_1\\files_2\\files_3')
  6>#删除多级目录
    os.removedirs()
    os.removedirs('new_python\\files_1\\files_2\\files_3')
  7>#os.makedirs创建目录,相对路径就是当前目录下创建,也可以写绝对路径
    os.mkdir('new_files')
    os.mkdir('d:\\new_files')
  8>#os.rmdir() 删除目录
    os.rmdir('new_files')

  12.复数complex 由实数部分和虚数部分组成,X+Yj ,其中X,Y都是实数,j是虚数单位,数学中用i表示,工程领域用j表示,j^2=-1

                                          

                                                  2018-06-23  11:24:22

Python3 学习第一天总结的更多相关文章

  1. Python3 学习第一弹:基本数据类型

    本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...

  2. Python3学习(1)-基础篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...

  3. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...

  4. python3学习笔记(5)_slice

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits ...

  5. python012 Python3 编程第一步

    Python3 编程第一步在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列.实例如下: #!/usr/bin/python3 # Fibonacci ...

  6. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

  7. YII2学习第一天

    YII2学习第一天,之前稍微看了看TP,感觉和自己的理念不是很符合,然后转学YII2了. 使用的文档是https://github.com/yiisoft/yii2/tree/master/docs/ ...

  8. Java学习第一天

    Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html          nbtstat  ...

  9. 一、Android学习第一天——环境搭建(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...

随机推荐

  1. dev_queue_xmit 发生了什么?skb还会在哪里缓存

    见 codebox/net/qdisk/xmit.log中保存了一份记录 调用关系 sch_direct_xmit --> dev_hard_start_xmit --> xmit_one ...

  2. 创建udp服务端对象

    DatagramSocket ds = null;//创建服务器对象 ds = new DatagramSocket(10001);//创建对象并指定端口 byte[] bytes = new byt ...

  3. 【bzoj4715】囚人的旋律 dp

    题目描述 给你一个 $1\sim n$ 的排列 $a_i$ ,若 $i\le j$ 且 $a_i\ge a_j$ ,则 $i$ 到 $j$ 有一条边.现在给你这张图,求既是独立集(任意两个选定点都没有 ...

  4. 【bzoj1010】[HNOI2008]玩具装箱toy 斜率优化dp

    题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具, ...

  5. 【bzoj2938】[Poi2000]病毒 AC自动机

    题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否 ...

  6. BZOJ4767 两双手(组合数学+容斥原理)

    因为保证了两向量不共线,平面内任何一个向量都被这两个向量唯一表示.问题变为一张有障碍点的网格图由左上走到右下的方案数. 到达终点所需步数显然是平方级别的,没法直接递推.注意到障碍点数量很少,那么考虑容 ...

  7. Gevent-自动挡切换

    Gevent: Gevent 是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程. G ...

  8. PowerDesigner 技巧【1】

    Name与Code同步的问题: PowerDesigner中,修改了某个字段的name,其code也跟着修改,这个问题很讨厌,因为一般来说,name是中文的,code是字段名. 解决方法如下: 1.选 ...

  9. Navicat新建查询快捷键

    在Navicat中,我们选中一个表,双击打开,这是如果要新建查询这个表的sql语句,可以直接用快捷键  ctrl+q 会自动打开查询窗口,并直接写好 sql:select * from (当前打开的表 ...

  10. STL之一:字符串用法详解

    转载于:http://blog.csdn.net/longshengguoji/article/details/8539471 字符串是程序设计中最复杂的变成内容之一.STL string类提供了强大 ...