即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

python初级

编程语言 Kr_Big 49℃ 0评论
本文目录
[隐藏]

1.python初级

标签: python


1.1.1.1.while — else和for – else

只有在循环正常结束(非break)时才执行else中的内容

#!/usr/bin/python
count = 0
while count < 5:
   print count, " is  less than 5"
   count = count + 1
else:
   print count, " is not less than 5"

1.1.2.2.while中只有一行语句就可直接写在while后面

#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'

1.1.3.3.for

a1=0
a2=6
for i in range(a1,a2):
    for j in range(i,a2):
        print j #+ " "
    else:   
        print i
else:
    print "outerelse"
#-----------------------    
word="helloworld"
for i in word:
    print i
for i in range()

1.1.4.4.pass语句

Python pass是空语句,是为了保持程序结构的完整性。


pass 不做任何事情,一般用做占位语句。

1.1.5.5.python中的各种数学函数

1.1.6.6.特有字符串运算符

str="hello"

  • [a:b]截取字符串中a到b的部分 str[1:3]==ell
  • in 如果字符串中包含给定的支付返回ture "h"in str == true
  • not in
  • % 格式化输出 语法与printf类似


    print "My name is %s and weight is %d kg!" % ('Zara', 21)


    输出结果是:


    “My name is Zara and weight is 21 kg!”
  • 三引号允许字符串跨行(所见即所得)

还有多种函数

1.1.7.7.list类型

list = ['physics', 'chemistry', 1997, 2000];    #声明

print "Value available at index 2 : "
print list[2]  #用下标选择元素
list[2] = 2001
del list[3] #删除元素 删除后其后的元素前移 list长度减一
print "New value available at index 2 : "
print list[2]
list.append("new") #在列表末尾添加新的对象

列表截取

  • list[2] : 第3个元素
  • list[-2]: 倒数第2个元素
  • list[1:] : 截取第2个元素往后的元素

还有多种函数

1.1.8.8.tuple类型

与list类型类似,但不能修改或删除其中的元素,可以用“+”连接两个tuple,可以用del删除整个tuple

1.1.9.9.dictionary类型

#!/usr/bin/python

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
dict['Age'] = 8; # 修改值
dict['School'] = "DPS School"; # 添加新元素

不能用数字访问某一个元素只能用键,键不可变,不能使用list作键,但tuple可以

还有多种函数

1.1.10.10.函数

格式:

def functionname( parameters ):
   "函数_文档字符串" #存放函数说明
   function_suite
   return [expression] #不用加中括号

python 函数的参数传递:

  • 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
  • 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

全局变量:

全局变量想作用于函数内,需加 global

匿名函数 :

语法为lambda [arg1 [,arg2,.....argn]]:expression

sum = lambda arg1, arg2: arg1 + arg2;

# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )

1.1.11.11.模块

import module导入整个模块


from module impot func导入模块中的某个函数

python中的包:

  • 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的的应用环境。简单来说,包就是文件夹,但该文件夹下必须存在__init__.py文件,该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。
  • 调用包的时候会先调用它的__init__.py文件

1.1.12.12.I/O

raw_input([prompt])函数:

从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):

#!/usr/bin/python
# -*- coding: UTF-8 -*- 

str = raw_input("请输入:");
print "你输入的内容是: ", str

input([prompt]) 函数:

和 raw_input([prompt]) 函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。

打开和关闭文件(我的默认目录是c:\Users\Kr):

语法:file object=open(file_name[,access_mode][,buffering])

  • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
  • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
  • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
# -*- coding: UTF-8 -*-

# 打开一个文件
fo = open("foo.txt", "wb")  #fo为file类型的对象
print "文件名: ", fo.name
print "是否已关闭 : ", fo.closed
print "访问模式 : ", fo.mode
print "末尾是否强制加空格 : ", fo.softspace

fo.write("hello world") #将字符串写入打开的文件

fo.close() #关闭打开的文件

fo= open("foo.txt","r+")
fo.read(10) #读取打开的文件直到第10个字节,若没有参数则读到文件最后

position = fo.tell(); #tell()返回指针当前的位置
print "当前文件位置 : ", position #会输出10

position = fo.seek(0, 0); #seek(offset,from)改变当前指针位置,offset变量表示要移动的字节数,From变量指定开始移动字节的参考位置

fo.close()

重命名和删除文件(我的默认目录是c:\Users\Kr):

  • 需要import os导入os模块
  • os.rename(current_file_name, new_file_name)
  • os.remove(file_name)

还有多种file的函数

1.1.13.13.异常处理

try:
<语句>        #运行别的代码
except #except 后面可以加多种异常类型,也可以不加异常类型,即捕获所有异常
<语句>        #如果在try部份引发了'name'异常
except ,<数据>:
<语句>        #如果引发了'name'异常,获得附加的数据
else:
<语句>        #如果没有异常发生
finally:
<语句>        #无论如何都要执行

raise语句自己触发异常

转载请注明:CodingBlog » python初级

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情