Python学习【1】
来源:互联网 发布:淘宝卖的七彩小驴 编辑:程序博客网 时间:2024/06/07 15:55
好好学习Python,坚持定期一篇汇总。。。作为自己的知识总结。
一、Python是一门动态解释性的强类型定义语言
1.1 动态语言与静态语言
(1)动态语言:动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
1.2 编译与解释
(1)编译:编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;
(2)解释:而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。
打个比方:假如你打算阅读一本外文书,而你不知道这门外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读;或者,你也立刻让这名翻译辅助你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给你翻译。
1.3 强类型定义与弱类型定义
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
二、优缺点:
优点:简单易上手,开发效率高,有强大的第三方库,属于高级语言,可移植性,可扩展性,可嵌入性。
缺点:速度慢,GIL(Global Interpreter Lock),任何时刻仅有一个线程在执行。
三、解释器
CPython,Ipython,PyPy,Jython,IronPython
python2和python3中的不同:
Python2:print “Hello,World”
Python3:print(“Hello,World”)
当做一个函数使用了,其他的还有诸如函数改名字之类的。
linux环境下,开头加上下面的语句,指定解释器
#!/usr/bin/env python
字符编码:
ASCII 255 1byte
–> 1980 gb2312 7000+
–>1995 GBK1.0 20000+
–>2000 GB18030 27000+
–>unicode 2byte
–>utf-8 English:1byte,Han:3byte
python2默认ASCII,输入中文的话,前面加上下列语句,python3字典utf-8编码。
# -*-coding:utf-8 -*-
变量命名:
字母、数字、下划线组合
第一个字符不能是数字
不能和关键字重合:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
注释
单行注释: #被注释内容
多行注释: “”” 被注释内容 “””
三引号还可以用于表示多行字符串
Python中单引号和双引号一般情况下用法是一样的。
用户输入:
name = input("what is your name? ")
name类型恒为str类型,python2中有input和raw_input类型,具体区别见我上一篇博客,另外python2快要不支持了,建议学习python3,不过目前linux自带的是python2。
加密输入:
import getpassname = getpass.getpass("what is your name? ")
字符串拼接:+
每次使用+拼接字符串,都会开辟一个新的内存,占用内存。
字符串格式化输出,三种
下面一些常见的条件语句循环语句,较为基础,就不一一敲出例子了。。
if—else
if ---: -----else: -----
if—elif—else
if ---: ------elif ---: ------else: -----
while
while ---: ------else: -----
for
for i in range(10): --------else: --------
while一般用于循环,for用于遍历,后面的else都可带可不带。
breake与continue
breake终止自身所在的循环(for,while),单层
continue结束本次循环,继续进行下次循环。
关于赋值的一个小例子
- Python学习1:Python简介
- python学习笔记1
- python学习笔记(1)
- python学习笔记(1)
- Python 学习记录1
- Python学习笔记1
- Python学习笔记1
- Python 学习笔记(1)
- python学习1
- Python学习(1)
- python学习1
- python学习备忘录--1
- python学习1
- python学习(1)
- python学习(1)--基础知识
- python学习1
- Python学习笔记1
- python学习笔记【1】
- java心得(时间API)
- CentOS 7 主机名的修改
- 一图读懂ZStack协议栈的基本架构和工作机理
- redis实现消息队列
- [BZOJ4650][NOI2016]优秀的拆分 各数据点解法
- Python学习【1】
- Two Sum
- 多线程和网络编程
- 12月3日
- Hadoop初识
- 函数与宏
- 拥有csdn博客的第一天
- 【Java 集合】List(ArrayList、Vector、LinkedList)、Map(HashMap、HashTable、LinkedHashMap和TreeMap)
- hive学习之hive的常用使用方式