python的基础语法

一.Python 简介

1.1. python解释器:

编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件 下载安装Python就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器,Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

1.2.编译过程:

python.py——>python解释器——>字节码文件——>python解释器——>二进制文件——>内存——>打印

1.3.编码格式:

编码回顾:Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决方法为只要在文件开头加入# -*- coding: UTF-8 -*-或者#coding=utf-8就行了

1.3.1:ASCII编码:

最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码

1.3.2.Unicode编码:

Unicode把所有语言都统一到一套编码里,解决多种语言的编码问题

1.3.3.UTF-8编码:

编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,

只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间

1.4.语法基础(以下所有demo都是基于python 3.6编写)

Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。

IndentationError: unexpected indent错误是python编译器是在告诉你,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有python对格式要求非常严格。

python中单行注释采用 # 开头。多行注释使用三个单引号(''')或三个双引号(""")。

eclipse中安装python

:help->install new software->add->pydev      \n

http://pydev.org/updates

在新建工程中创建一个python.py文件,即可开始编写(eclipse还是非常强大,模糊输入、编译错误提醒、很大的提高编写效率 )

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束

附上一段程序代码:


二.变量类型

2.1 变量赋值

        Python 中的变量赋值不需要类型声明,用  = 来给变量赋值。变量在使用前都必须赋值,变量赋值以后该变量才会被创建

2.2 标准数据类型

        Python有五个标准的数据类型,用于存储各种类型的数据。

2.2.1    Numbers(数字)支持四种不同的数字类型:

              int(有符号整型)

              long(长整型[也可以代表八进制和十六进制])

              float(浮点型)

              complex(复数)

2.2.2    String(字符串):示例代码


2.2.3     List(列表)

        List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。列表用[ ]标识。是python最通用的复合数据类型。


1.Python 提供列表处理的方法

1.1.cmp(list1,list2)    比较两个列表的元素

1.2 .len(list)    列表元素个数

1.3.max(list)    返回列表元素最大值

1.4.min(list)    返回列表元素最小值

1.5.list(seq)    将元组转换为列表

2.list 列表函数&方法

2.1. list.append(obj)    在列表末尾添加新的对象

2.2. list.count(obj)    统计某个元素在列表中出现的次数

2.3. list.extend(seq)    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

2.4. list.index(obj)    从列表中找出某个值第一个匹配项的索引位置

2.5. list.insert(index, obj)    将对象插入列表

2.6 list.pop(obj=list[-1])    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

2.7  list.remove(obj)    移除列表中某个值的第一个匹配项

2.8  list.reverse()     反向列表中元素

2.9 list.sort([func])    对原列表进行排序

2.2.4    Tuple(元组)

        元组是另一个数据类型,类似于List(列表)。元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。


元组内置函数

Python元组包含了以下内置函数

1.1  cmp(tuple1, tuple2)    比较两个元组元素。

1.2  len(tuple)    计算元组元素个数。

1.3  max(tuple)    返回元组中元素最大值。

1.4 min(tuple)    返回元组中元素最小值。

1.5 tuple(seq)    将列表转换为元组。

2.2.5    Dictionary(字典)

        字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

Python字典内置函数&方法

1.1.  cmp(dict1, dict2)   比较两个字典元素。

1.2 len(dict)    计算字典元素个数,即键的总数。

1.3 str(dict)   输出字典可打印的字符串表示。

1.4 type(variable)  返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

2.1  radiansdict.clear()    删除字典内所有元素

2.2  radiansdict.copy()    返回一个字典的浅复制

2.3  radiansdict.fromkeys()    创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

2.4  radiansdict.get(key, default=None)    返回指定键的值,如果值不在字典中返回default值

2.5  radiansdict.has_key(key)    如果键在字典dict里返回true,否则返回false

2.6  radiansdict.items()    以列表返回可遍历的(键, 值) 元组数组

2.7  radiansdict.keys()    以列表返回一个字典所有的键

2.8  radiansdict.setdefault(key, default=None)    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

2.9  radiansdict.update(dict2)    把字典dict2的键/值对更新到dict里

2.10  radiansdict.values()    以列表返回字典中的所有值

dirct 通过特定key来查找数据,如果key 不存在,直接打印是会报错的,有两种方法判断


1>.通过in判断key是否存在:如果不存在,返回False

2>.通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

        set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:



        注意,dict内部存放的顺序和key放入的顺序是没有关系的。和list比较,dict有以下几个特点:查找和插入的速度极快,不会随着key的增加而变慢;需要占用大量的内存,内存浪费多。而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。

2.3 运算

2.3.1  布尔值:    

        布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值布尔值可以用and(与运算)、or(或运算)和not(非运算)运算

2.3.2  空值:

        空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值

2.3.3  变量:

        变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

2.3.4.  除法运算  

        1>:一种除法是 "/" :两数相除取浮点数

        2>:另一种是"//" :两数相除取整

        注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。


三.循环

Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,另一种是while循环

3.1   for x in .... 循环

3.2  while循环


        要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错

四.Python的时间和日期

推荐阅读更多精彩内容

  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 798评论 0 1
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    IT诸葛亮阅读 6,585评论 1 118
  • 自己一个人坚硬了太久,都快忘记温柔是什么感觉了。 我不爱穿裙子,不爱扎头发。 他们都说我该是一个柔软的姑娘,可我硬...
    陵壳阅读 90评论 0 0
  • 秋菊吐芳,枫沐丹阳。大任经纶敢担当,开来继往。励精图治山河壮,初心不忘风清朗,同心戮力小康彰,东风浩荡。
    白云之外阅读 90评论 0 1
  • 一 我的中学时代已经结束了。 是的。结束了。这样也终于有个理由回忆他们。 初中时,学校离我家很近。那时爸妈在县城里...
    木子曰美阅读 117评论 1 1