Python

Python是一种高级动态,完全面向对象的语言、函数、模块、数字、字符串都是对象,并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。

运算语句:表达式、函数调用和赋值

各种类型的数据对象,可以通过各种运算组织成复杂的表达式

调用函数或者对象,也可以返回数据,所有可调用的事务称为callable

  调用函数或者对象,需要在其名称后加圆括号,如果有参数,写在圆括号里

  不加圆括号的函数或者对象名称仅是表示自己,不是调用

将表达式或者调用返回值传递给变量进行引用,称为赋值

赋值语句的小技巧

〉级联赋值语句  x=y=z=1

〉多个变量分解赋值  a,b=['hello','world']

〉变量交换  a,b=b,a

〉自操作  i+=1  n*=45

控制流语句:条件if

〉条件语句

if <逻辑条件>:

    <语句块>

elif <逻辑条件>:#可以多个elif

      <语句块>

else: #仅1个

      <语句块>

〉各种类型中某些值会自动被转换为False,其它值则是True:

None,0,0.0,'',[],(),{},set()

控制流语句:while循环

〉条件循环while

while <逻辑条件>:

          <语句块>

          break#跳出循环

          continue#略过余下循环语句

            <语句块>

else: #条件不满足退出循环,则执行<语句块>

控制流语句:for循环

〉迭代循环for:

for <变量> in <可迭代对象>:

      <语句块>

      break#跳出循环

      continue#略过余下循环语句

else: #迭代完毕,则执行

      <语句块>

〉可迭代对象有很多类型

像字符串、列表、元组、字典、集合等

也可以有后面提到的生成器、迭代器等

迭代的小技巧:zip()函数

〉由于for循环的迭代是对容器中的数据项进行枚举,但不带序号或下标

〉有时候我们需要数据项的序号

〉另外,有时我们需要并行迭代两组一一对应的数据项

〉使用zip()打包函数可以使代码更加简洁

〉zip(list1,list2,list3…)返回由每个列表对应位置的数据项构成元组的列表。

函数function

〉函数用来对具有明确功能的代码段命名,以便复用(reuse)

〉定义函数:def语句;

def <函数名> (<参数表>):

      <缩进的代码段>

      return<函数返回值>

〉调用函数:<函数名>(<参数>)

注意括号!

无返回值:<函数名>(<参数表>)

返回值赋值:v=<函数名>(<参数表>)

定义函数的参数:固定参数/可变参数

〉定义函数时,参数可以有两种;

〉一种是在参数表中写明参数名key的参数,固定了顺序和数量

deffunc(key1,key2,key3…):

deffunc(key1,key2=value2…):

〉一种是定义时还不知道会有多少参数传入的可变参数

deffunc(*args):#不带key的多个参数

deffunc(**kwargs):#key=val形式的多个参数

调用函数的参数:位置参数/关键字参数

〉调用函数时,可以传进两种参数

〉一种是没有名字的位置参数

func(arg1,arg2,arg3…)

会按照前后顺序对应到函数参数传入

〉一种是带key的关键字参数

func(key1=arg1,key2=arg2…)

由于指定了key,可以不按照顺序对应

〉如果混用,所有位置参数必须在前,关键字参数必须在后

函数小技巧:map()函数

〉有时候,需要对列表中每个元素做一个相同的处理,得到新列表

〉例如所有数据乘以3

〉例如所有字符串转换为整数

〉例如两个列表对应值相加

〉map(func,list1,list2….)

〉函数func有几个参数,后面跟几个列表

函数小技巧:匿名函数lambda

〉有时候,函数只用一次,其名称也就不重要,可以无需费神去def一个

〉Lambda表达式可以返回一个匿名函数

〉lambda<参数表>:<表达式>

Python引用扩展模块:import

〉import<模块>[as<别名>]

将模块中的函数等名称导入当前程序“命名空间”namespace

引用方法:<模块>.<名称>

〉dir(<名称>)函数

列出名称的属性

〉help(<名称>)函数

显示参考手册

〉from<模块>import<名称>

导入模块的部分名称

时间相关:calendar模块

〉跟日历相关的若干函数和类,可以生成文本形式的日历

〉calendar.calendar(<年>)

〉calendar.month(<年>,<月>)

返回多行字符串

〉calendar.isleap(<年>)

判别闰年

〉calendar.prmonth(<年>,<月>)

〉calendar.prcal(<年>)

时间相关:datetime模块

〉有4个主要的类

date处理年月日

time处理时分秒、毫秒

datetime处理日期加时间

timedelta处理时段(时间间隔)

〉常用函数/方法

datetime.date.today()

datetime.datetime.now()

datetime.datetime.isoformat()

〉两个时间相减就是timedelta

时间相关:time模块

〉time.time()浮点数表示的现在时间

从1970-1-10:0:0开始的秒数

〉time.struct_time结构化时间类

time.localtime(<纪元时间>)->结构

time.gmtime(<纪元时间>)->结构

time.mktime(<结构化时间>)->纪元时间

〉time.strftime(<格式>)表示格式化输出(结构化)时间

〉time.strptime(<字串>,<格式>)按照格式识别字串,返回时间

基本模块简介:算术

〉math:常用的算术函数、三角函数、幂指数等等

〉cmath:支持复数的math函数

〉decimal:十进制定点数

〉fractions:有理数,比例

〉random:随机数

random.randint(a,b)

random.randrange(start,stop,step)

〉statistics:一些统计函数

你可能感兴趣的:(Python)