python基础篇总结

    xiaoxiao2025-09-14  54

    (1)初学python     name=raw_input()  输入变量值(返回值是字符串) name=raw_input("please enter your name") print"hello",name raw_input和print是在命令行下面最进本的输入输出。 但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。 以#开头的是注释,可以任意写,机器忽略。 字符串直接索引法。"hello"[1] 函数list("hello")=['h','e','l','l','o']  列出表元素 (2)语法和函数  由于python源代码也是一个文本文件,所以当你的源代码中包含中文时候时,在保存源代码时需要务必指定保存为UTF-8编码 # -*- coding: utf-8 -*- 格式化字符串:  %d 整形变量   %f浮点型变量  %s字符串  %x十六进制 int()发现一个字符串并不是合法的数字时就报错。 len()函数可以获得list元素的个数。索引访问每一个位置的元素。除了计算索引位置元素外,还可以用-1座索引,直接获取最后一个元素。 append()函数可以附加一个参数。一般在列表中添加元素,eg:names.append("元素") insert()函数一般也是插入某个元素到列表中。eg:names.insert(位置,"内容") pop()函数删除列表中的某个元素,eg:names.pop(i), i为索引位置,删除指定位置的元素内容。 列表元素直接赋值,eg: names[1]="2" 列表中可以包含列表。 eg: str=["a","23","true"]          names.append(str)            (ok) tuple,定义一个不变元组,指向不变。(存储单元不变) list与tuple区别就是[]和()的区别,list可变,tuple指向不变。 字典dic方式存储数据。key-value定位元素值。 n={"aa":22,"bb":33,"cc":44} n.get()通过key-value定位元素值。 n.pop()通过key-value删除元素。 (3)函数定义和参数特征 在python中,定义一个函数要使用def语句,依次写出函数名,括号,括号中的参数和冒号:,然后在缩进模块中编写函数体,函数的返回值用return语句返回。如果没有return语句,返回值就是none eg:  def nop():               pass           如果没pass,代码运行会有语法错误。 pass作为占用符,比如没有想好代码。 自定义函数参数可以有多个,多个函数可以定义多个默认值。 默认参数设置,注意事项: 1,必须参数在前,默认参数在后,否则python解释器会报错。 2,设置参数事,习惯把默认参数变化大的放在前面,变化小的参数放在后面。默认参数降低函数调用难度。可以不按照顺序提供参数,但是需要把参数名字写上。没有提供参数的使用默认值。   可变参数允许你传入0个或者任意个参数,这些可变参数在函数调用时自动组装为一个tuple 递归函数优点是逻辑清晰。理论上,所有递归函数都可以写成循环的方式。但是循环不如递归函数逻辑清晰。 使用递归函数需要防止栈溢出,在计算机中,函数调用时通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一个栈帧,每当函数返回就会减一层栈帧,由于栈的大小不是无限的,所以,递归调用过多会导致栈溢出。 解决栈溢出方法是用尾递归优化。在函数返回时,调用自身本身并且return语句不包含表达式,这样编译器或者解释器就可以把尾递归做优化。使递归本身无论调用多少次,都只是占用一个栈帧,不会出现栈溢出现象 eg:  def fact(n):               return fact_inter(n,1)           def  fact_inter(num.product):                if num==1:                         print product                return fact_iter(num-1,num*product)  当编译器检测到一个函数调用是尾递归的时候,它就覆盖当前的活动记录而不是在栈中去创建一个新的。编译器可以做到这点,因为递归调用是当前活跃期内最后一条待执行的语句,于是当这个调用返回时栈帧中并没有其他事情可做,因此也就没有保存栈帧的必要了。通过覆盖当前的栈帧而不是在其之上重新添加一个,这样所使用的栈空间就大大缩减了,这使得实际的运行效率会变得更高。 高级特性:一行代码能完成的事绝不用5行代码时间。 eg:L[0:3]切片索引,如果第一个索引是0,可以省略。 eg:     L=[]              for x in range(10):                  L.append(x*x)               print L x会自动指向下一个元素,x自动+1但是指向的是下一个元素。 生成器generator函数和普通函数执行流程不一样,函数是顺序执行,遇到return或者执行到最后一行函数语句就返回,而变成generator函数在此调用时从上次返回的yield语句处继续执行。 函数本身可以复制给变量,及变量指向函数。 eg:   f=abs     函数名也是变量,也就是说函数名变了,函数也就不指向原来函数了。 传入函数:既然变量可以指向函数,函数的参数能接受变量,那么函数可以接受另一个函数作为参数,这种函数称之为高阶函数 map/reduce()map函数接收两个参数,一个是函数,一个是序列。map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 內建函数filter()用于过滤序列。和map()类似,filter()也接收一个函数和一个列序列,和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。 高阶函数除了可以接受函数作为参数作为返回值,还可以把函数作为结果返回值。 內建的callable函数可以用来判断函数是否可调用。函数callable在python3中不在可用,需要使用表达方式hasattr(func,_call_)代替,有关hasattr的更多信息 指定字符编码 python指定字符编码的方式有很多种,而编码格式是要写在解释器的下面,常用的有三种模式: 第一种 #!/usr/bin/env python # _*_ coding:utf-8 _*_ 第二种 #!/usr/bin/env python # -*- coding:utf-8 -*- 第三种 #!/usr/bin/env python # coding:utf-8 代码注释 单行注释 单行注释只需要在代码前面加上#号 # 注释内容 多行注释用三个单引号后者三个双引号括起来 变量 变量的命名规格: 1.变量名只能包含数字,字母,下划线 2.不能以数字开头 3.变量名不能使用python内部的关键字 python内部已经占用的关键字 【and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from】 定义变量 name = "ypf" print name 本的数据类型 字符串 定义字符串类型是需要用单引号或者双引号包起来的 name = “ypf” print(type(name)) <type 'str'> 或者 name = 'ypf' print(type(name)) <type 'str'> 数字(int) 证书类型定义的时候变量名后面直接可以跟数字,不要用双引号包起来 age = 20 print(type(age)) <type 'int'> 布尔值() 布尔值就只有True(真),flash(假) 流程控制 if语句 if语句是用来检测一个条件:如果条件为真(true),我们运行一个语句块(if块),否则(else),我们执行另一个语句块(称为else块)。else子语句是可选的。 while循环 while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。执行流程图如下: 执行流程图如下: 实例: 定义一个变量count,默认值为1,然后进去while循环,让其输出1-10,如果大于10则退出。 count = 1 print "start ..." while  count <1:     print "the count is :"     count += 1 print "end ..." break 跳出当前位置循环体,下面代码不在执行,继续执行循环后面的代码 实例 1234567891011121314 #!/usr/bin/env python# _*_ coding:utf-8 _*_count = 1print"Start...."while count < 11:if count == 5: #如果count等于5,那么我就退出当前循环体breakprint"The count is:",count count += 1print"End...." continue  跳出本次循环,继续下一次循环 123456789101112131415 #!/usr/bin/env python# _*_ coding:utf-8 _*_count = 1print"Start...."while count < 11:if count == 5: #如果count等于5,那么我就让其+1,然后不执行下面的代码,继续下一次循环 count += 1continueprint"The count is:",count count += 1print"End...." 条件判断 条件判断适用于if,while等 等于:if 1 == 1 不等于: if != 2 小于  if 1 < 1 大于  if 1> 1 并且  if 1 ==1 and 1>0: 或者  if 2 > 1 or 2 = 2 永远为真  if True: 永远为假  if  Flase 交互式输入 python的交互式输入使用的是raw_input ()和 input() 函数来函数实现的,注意在python2.7.x版本时可以使用raw_input() 和input()函数,但是在python3.5.x 版本的时候就没有raw_input()函数了,只能够用input() 例题:输入名字打印出来 input()函数只能输入数字 python time sleep() 函数推迟调用线程的运行,可以通过参数secs即秒数,表示进程挂起的时间 以下实例展示了 sleep() 函数的使用方法:

    #!/usr/bin/pythonimport time print"Start : %s"% time.ctime() time.sleep(5)print"End : %s"% time.ctime()
    转载请注明原文地址: https://ju.6miu.com/read-1302644.html
    最新回复(0)