一、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. TDDL剖析

    前言 在开始讲解淘宝的TDDL(Taobao Distribute Data Layer)技术之前,请允许笔者先吐槽一番.首先要开喷的是淘宝的社区支持做的无比的烂,TaoCode开源社区上面,几乎从来 ...

  2. Elasticsearch 更新索引settings

    1.更新索引设置:将副本减至0,修改索引分析器为ik_max_word和检索分词器为ik_smart 2.需要先将索引关闭,然后再PUT setings POST user/_close PUT us ...

  3. BZOJ5301:[CQOI2018]异或序列——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5301 https://www.luogu.org/problemnew/show/P4462 已知 ...

  4. 51NOD 1594:Gcd and Phi——题解

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1594 参考及详细推导:http://www.cnblogs.com/ri ...

  5. X day1

    题目pdf 官方题解 T1: 我们可以发现此题若要求$[L,R]$区间的答案,其实就是再求前缀和,我们设$b$为当前出现次数最多的字符,$c$为最小,所以答案为$s[b]_r-s[c]_r-(s[b] ...

  6. 修改tomcat编码格式 & tomcat发布WEB项目供外网访问

    1.修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码:       <Connector port="8080" prot ...

  7. hdu 5616

    Jam's balance Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  8. Webservice与CXF框架快速入门

    1. Webservice Webservice是一套远程调用技术规范 远程调用RPC, 实现了系统与系统进程间的远程通信.java领域有很多可实现远程通讯的技术,如:RMI(Socket + 序列化 ...

  9. nodejs+react构建仿知乎的小Demo

    一.命令行进入指定项目文件夹 二.相关命令安装环境和项目工具 npm init npm install react -- save npm install -g gulp npm install -- ...

  10. css常见水平居中

    行内元素居中 常见行内元素如文本,图片等居中时,通常是给父元素设置text-align:center 来实现.例如 HTML: <body> <div>我是文字,我要居中显示& ...