Python3 学习第一天总结
一、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 学习第一天总结的更多相关文章
- Python3 学习第一弹:基本数据类型
本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...
- Python3学习(1)-基础篇
Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...
- python学习第一讲,python简介
目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...
- python3学习笔记(5)_slice
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits ...
- python012 Python3 编程第一步
Python3 编程第一步在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列.实例如下: #!/usr/bin/python3 # Fibonacci ...
- Magento学习第一课——目录结构介绍
Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...
- YII2学习第一天
YII2学习第一天,之前稍微看了看TP,感觉和自己的理念不是很符合,然后转学YII2了. 使用的文档是https://github.com/yiisoft/yii2/tree/master/docs/ ...
- Java学习第一天
Java学习第一天 对于网络管理员或者黑客必须知道的八个cmd命令 详情请参考:http://www.2cto.com/os/201608/533964.html nbtstat ...
- 一、Android学习第一天——环境搭建(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 一. Android学习第一天——环境搭建 Android 开发环境的搭建 ...
随机推荐
- 浅析Docker容器的应用场景
本文来自网易云社区 作者:娄超 过去几年开源界以openstack为代表的云计算持续火了好久,这两年突然又冒出一个叫Docker的容器技术,其发展之迅猛远超预料.网上介绍Docker容器的文章已经很多 ...
- 移除 ios 上 input 的默认样式
input{ -webkit-appearance:none; }
- f-measure[转]
F-Measure又称为F-Score,是IP(信息检索)领域常用的一个评价标准,计算公式为: 其中β是参数,P是准确率(Precision),R是召回率(Recall). F1-Measure:当参 ...
- <hx>标签 字体自动加粗 自动换行
<hx>标签 字体自动加粗 自动换行
- Codeforces Gym 101142 G Gangsters in Central City (lca+dfs序+树状数组+set)
题意: 树的根节点为水源,编号为 1 .给定编号为 2, 3, 4, …, n 的点的父节点.已知只有叶子节点都是房子. 有 q 个操作,每个操作可以是下列两者之一: + v ,表示编号为 v 的房子 ...
- CentOS 压缩(打包)和解压
1.tar命令 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -z 用 Gzip压缩或解压 -j 用 bzip2压缩或解压 -v 显示压缩或解压的过程 -f 目标文件名,在 f ...
- Elasticsearch 插件head和kibana
本次安装在win7下,linux操作差不多. Elasticsearch的版本是6.5.1 一.前置条件 1.安装nodejs,如果已经安装了,检查一下版本,最好大于6以上,不然后面会失败,官网上已经 ...
- Ark组件[转]
Ark组件简介 Ark组件是基于.NET 4.0框架开发的基础组件,封装了一些常用的功能方法,并提供了若干程序开发的基础框架. HttpSession简介 HttpSession是Ark组件中负责HT ...
- A great tutorial with Jupyter notebook for ML beginners
An end to end implementation of a Machine Learning pipeline SPANDAN MADAN Visual Computing Group, Ha ...
- springboot-为内置tomcat设置虚拟目录
需求 项目使用springboot开发,以jar包方式部署.项目中文件上传均保存到D判断下的upload目录下. 在浏览器中输入http://localhost:8080/upload/logo_1. ...