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结束本次循环,继续进行下次循环。
这里写图片描述

关于赋值的一个小例子

这里写图片描述
这里写图片描述

原创粉丝点击