一、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
来源:oschina
链接:https://my.oschina.net/u/4373309/blog/3929747