一、简介:
1、Python语法简洁清晰,强制使用空格符作为语句缩进,来分割代码块。
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。
Python是强类型语言。
2、Python程序的执行:
3、面向过程和面向对象
(1)、面向过程:以指令为中心,由指令处理数据。
(2)、面向对象:以数据为中心,所有的处理代码都围绕数据展开。
二、基本数据类型:
1、整型:a=3
2、布尔型:True,False
3、浮点型:a=3.14
4、字符串:一定要用“单或双或三”引号引起来。
例:
>>> st1="tome"
>>> print st1[2]
m
>>> st2='hello'
>>> print st2[4]
o
>>> st3='''hello world'''
>>> print st3[6]
w
5、说明:
(1)、python中,变量实际上是指向内存对象的引用。
(2)、动态类型:在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)。因此,变量名没有类型,对象才有类型。
例:>>> a="asdf"
>>> type(a)
<type 'str'>
>>> a=3.14
>>> type(a)
<type 'float'>
三、变量命名规则以及惯例:
1、变量命名规则:
(1)、只能包含字母数字下划线,且不能以数字开头
(2)、区分大小写
(3)、禁用保留字
2、惯例:
(1)、_X以单一下划线开头的变量名不会被from module import * 语句导入。
(2)、_X_前后都有下划线的变量名是系统定义的变量名,对python解释器有特殊意义。
(3)、__X以两个下划线开头,但结尾没有下划线的变量名是类的本地变量。
(4)、交互式模式下,变量名“_”用于保存最后表达式的结果。
(5)、注意:变量名没有类型,对象才有。
四、组合数据类型:
1、序列:
(1)、list列表,由[]创建,可以修改。
如:l1=['a','b','c'],
如果l1[1]=0,那么print l1为['a',0,'c']
如果del l1[1],那么print l1为['a','c']
(2)、tuple元组,由()创建,不可以修改。
如:t1=('a','b','c'),
如果t1[1]=0会报错。
如果del t1[1]会报错。
(3)、str字符串,由' '," ",""" """,''' '''创建,如果在可调用对象的第一行定义的字符串,此
字符串为可调用对象的文档。有切片方法。
如:str1="hello world",print str1[0]为h
print str1[1:]为ello world
print str1[0:1]为h
2、set/frozenset集合:(一个可迭代对象),无序排列,可哈希.
支持集合关系测试、成员关系测试、迭代等。
如:>>>s1=set({1,2,3,4})
>>>type(s1)
set
>>>s2=set("abc")
>>>type(s2)
set
>>>print(s2)
set({'a','b','c'})
3、dict字典,KV集合,有{}创建:
如:d1={'a':30,'b':20}
print d1['a']为30
d2={0:60,1:10}
print d2[0]为60
五、常用的内建函数:
1、type判断变量类型:
例:>>> a="asdf"
>>> type(a)
<type 'str'>
>>> a=3.14
>>> type(a)
<type 'float'>
2、id变量的内存地址:
例:>>> a=3.14
>>> id(a)
11290080
>>> a=123
>>> id(a)
11290600
3、dir查看对象支持的所有属性和方法:
例:>>> dir(platform)
['__builtins__', '__copyright__', '__doc__', '__file__', '__name__', '__package__', '__version__', '_abspath', '_architecture_split', '_bcd2str', '_default_architecture', '_dist_try_harder', '_follow_symlinks', '_ironpython_sys_version_parser', '_java_getprop', '_jython_sys_version_parser', '_libc_search', '_lsb_release_version', '_mac_ver_gestalt', '_mac_ver_lookup', '_mac_ver_xml', '_node', '_norm_version', '_parse_release_file', '_platform', '_platform_cache', '_popen', '_release_filename', '_release_version', '_supported_dists', '_sys_version', '_sys_version_cache', '_sys_version_parser', '_syscmd_file', '_syscmd_uname', '_syscmd_ver', '_test_parse_release_file', '_test_sys_version', '_uname_cache', '_ver_output', '_win32_getvalue', 'architecture', 'dist', 'java_ver', 'libc_ver', 'linux_distribution', 'mac_ver', 'machine', 'node', 'os', 'platform', 'popen', 'processor', 'python_branch', 'python_build', 'python_compiler', 'python_implementation', 'python_revision', 'python_version', 'python_version_tuple', 're', 'release', 'string', 'sys', 'system', 'system_alias', 'uname', 'version', 'win32_ver']
4、len,查看列表、元组等元素的长度。
如:list1=['a','b','c','d','f']
>>>print len(list1)
5
>>> name="tom"
>>> print len(name)
3
5、help:获取某方法的具体使用帮助。
如:>>>help(list.pop)
Help on method_descriptor:
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
六、逻辑操作符:
1、is身份操作符,判断左端对象引用是否和右端对象引用相同。
如:
>>> name="tom"
>>> test="tom"
>>> name is test
True
2、比较操作符:
< > <= >= != ==
3、成员操作符,in ,not in :测试成员关系。
如:>>> "t" in name
True
4、逻辑操作符and ,or, not
七、控制语句:
1、if boolean_expression1:
语句1
elif boolean_expression2:
语句2
....
else:
语句n
2、while boolean_expression1:
语句
3、for .. in ..:
4、try
八、函数的定义和调用:
1、定义:def functionName(args):
函数主体
2、调用:functionName(args)
如:>>>def testF(arg1):
print arg1
>>>testF("hello python")
hello python
九、python语句和语法特性:
1、注释:
(1)、单行非文档注释符号#
(2)、单行文档注释符号"注释内容"
(3)、多行文档注释符号'''注释内容'''
2、续行:续行符号\
3、代码组:缩进相同的一组语句构成一个代码块,python统一缩进4个字符。
4、首行以关键字开始,如if 、while 等,以冒号结束
5、python使用缩进分隔代码块,同一代码块的代码必须严格左对齐,否则会造成语法错误。
6、语句分隔符分号; 同一行中放置多个语句一定要以分号分隔。
7、模块:每一个python脚本文件都可以被当做一个模块。
模块里的代码可以是一段直接执行的脚本,也可以是一些类似库函数的代码从而可由别的模块 执行导入import。注意,脚本文件要放到特定路径下。
十、python主程序:
每个模块都有一个名称为__name__的内建变量,此变量值会根据调用此模块的方式不同而变化。
如果此文件被作为模块导入,则__name__的值为模块名称。
如果此文件被直接执行,则__name__的值为"__main__"