由于工作中可能会使用Python,但并不涉及太复杂的功能,因此简单学习下Python。
先记录下Python的特殊点:
1、以缩进区分程序块,不像Java使用{}
2、逻辑运算符直接使用 and 、or、not,而不是&& 、||、!
3、函数声明和判断语句最后需要价格冒号“:”
4、行尾不使用分号,当然要用也可以,但很少使用,除非需要一行展示多条语句
5、使用3个引号(单双都可)多行注释
6、print输出默认换行,像不换行输出泽厚不想换行的位置加逗号(真是奇葩)
好,开始
一、Python变量
1、可以由字母、数字、下划线组成,不能以数字开头,区分大小写。注意,以下划线开头的标识符有特殊意义,以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
2、Python变量不需要声明,标准数据类型:数字number(int、long、float、complex)、字符串string、列表list、元组tuple、字典dictionary(key、value),注意:①元组tuple只能在创建时赋值,之后不能修改。②负数可以用a+bj或者complex(a,b)表示,这里的a、b都是float类型。③列表用[ ]标识,可以列表嵌套列表;元组用( )标识,定义只有一个元素的tuple时用T = (1,)。
3、取字符串、列表、元组部分内容,那么[start:end],从左下标0开始,从右下标-1开始(右边-左边就是子串长度),如果end不填,则取到末尾。有意思的是*可以重复,比如*2则重复两次。
4、对数据内置的类型进行转换,你只需要将数据类型作为函数名即可。
int(x [,base])将x转换为一个整数 #目前工作中常用的
long(x [,base] )将x转换为一个长整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串 #目前工作中常用的
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符 #目前工作中常用的
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
5、运算符
算术运算符什么+、-、*、/、%就不讲了,值得关注的是**和//,a**b返回a的b次方,a//b返回商的整数。/和//的区别://返回的是商的整数部分,比如9.0//2返回4.0,而9.0/2返回4.50000,只有9/2时才返回4。
比较运算符==、!=、>、<、>=、<=就不说了,特别的是不等于还可以用<>来表示,虽然我肯定不这么用,但见着了得认识。
赋值运算符=、+=、-=、*=、%=、/=就不说,多了的就是**=、//=
位运算符&与、|或、^异或、~取反、<<左移、>>右移
成员运算符in、not in,可以使用于字符串、列表、元组
身份运算符is、is not,这里的比较是比较的对象,所以像字符串即使长得一样,但内存地址不一样也是返回false
二、条件、循环语句
1、关于true和false,除了True和False,非0、非null值都为True,0、null为False
2、条件语句基本结构
if condition:
语句块
elsif condition:
语句块
else:
语句块
3、循环语句
提供了while循环、for循环(for in结构),没有do while循环,同样有continue、breaker,还多了个pass,pass只做占位,不做任何事情(我能想到的用法是if语句为真的时候不执行任何动作,只需要在else下处理)
三、函数
1、格式
def 函数名(参数1、参数2、……):
"一般第一条语句用来注释函数作用,双引号包围"
语句块
return value
2、传递不可变类型(整数、string、tuple)时,是值传递,函数里对其的处理并不会影响原始值,所以如果需要修改应该通过返回值来重新赋值,传递可变类型(list、dictionary)时是引用传递,函数内的修改是影响原始内容。
3、关于函数参数
①普通情况下需要参数和值一一对应,数量一致
②在参数时直接指定参数名与值的对应关系,可以不用关心函数定义时的参数顺序,比如sum(year=10,month=2)
③可以在定义函数时设置默认值,在调用时如果没有传递对应值则设为默认值,比如def sum(month=1,year=2)
④Python有一个变长参数
deffunctionname([formal_args,] *var_args_tuple ):
"函数_文档字符串" function_suite
return [expression]
四、模块
Python模块其实就是在一个同名的.py文件内定义了一些函数、类和变量。
导入一个模块使用import导入,注意需要放在脚本顶端。如果只想导入模块的部分内容,则使用from module import xxx
好了,就简单的学到这里,后面如果需要再深入学习,毕竟还没接触到面向对象。