700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 信息学部物联网工程学院学生科协第三次软件大培训(python)

信息学部物联网工程学院学生科协第三次软件大培训(python)

时间:2019-03-28 05:32:26

相关推荐

信息学部物联网工程学院学生科协第三次软件大培训(python)

Python入门

Python介绍Python基本语法标准数据类型Python 的printNumber(数字)Python 的变量赋值可以写在一行上变量的定义、类型、与运算String(字符串)Python 的判断语句python的循环List(列表)字典、集合、元组函数Python求素数Python归并排序txt文件的读写迭代器与可迭代对象为什么要有迭代器可迭代对象迭代器对象文件类型是迭代器对象文件的读写open() 方法File对象的属性file对象常用函数File.close()File.read()File.readline()File.seek()File.tell()File.write()Python常用库库是什么库有哪些(内置库)库有哪些(第三方库)库怎么安装库的导入库的实例使用

Python介绍

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

优点:

简单易学易读、易维护用途广泛速度快免费、开源高层语言可移植性解释性面向对象可扩展性、可扩充性可嵌入性丰富的库规范的代码高级动态编译

缺点:慢

Python基本语法

标准数据类型

Python3 中有六个标准的数据类型:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Set(集合)

Dictionary(字典)

Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

Python 的print

首先 Python不需要分号,用换行来代替分号。

python 的print十分简单,默认是自动换行的。

print(1)print(2)print(3)

如果不要换行,可以用end自行调整

print(1,end="")print(2,end="")print(3,end="")print()print(1,end=" ")print(2,end=" ")print(3,end=" ")print()print(1,end=",")print(2,end=",")print(3,end=",")print()print(1,end="我是间隔")print(2,end="我是间隔")print(3,end="我是间隔")

Number(数字)

Python 的变量赋值可以写在一行上

a, b = 1, 2print(a," ",b)

变量的定义、类型、与运算

Python 定义变量时不需要显式地标明数值类型,变量的数值类型与你的赋值有关

a, b, c, d= 1, 2.0, 2.1, 3.2print(type(a)," ",type(b))

强制类型转换(只有四种数值类型)

a, b, c, d= float(a), int(b), bool(c), complex(d)print(type(a)," ",type(b)," ",type(c)," ",type(d))

数字运算,加减乘除,次方,取余

a, b = 3,4print(a+b," ",a-b," ",a*b," ",a/b," ",a**b," ",a%b)

String(字符串)

可以通过“+”号连接字符串

a, b = "你好", "世界"print(type(a))a = a + ba += "!"print(a)

但String不能更改

错误:a[1] = “好”

Python 的判断语句

一定不需要大括号,小括号随意

必须有冒号,必需要换行,必须要缩进四个空格键

a = 1if(a == 1):print(a)if a == 2:print(a+1)else:print(a+2)if a == 2:print(a+3)elif a == 1: #else if 语句print(a+4)

python的循环

一般用while循环,或者for循环

a = 1while(a<10):a += 1print(a,end=" ")print()for i in range(10):a -= 1print(a,end=" ")print()

break语句也和c语言一样

a = 1while(a<1000):a += 1print(a,end=";")if a > 10:print("break了")breakfor i in range(1000):a += 1print(a,end=";")if a > 20:print("break了")break

List(列表)

mylist = [1,2,3,4]print(mylist," \n长度:",len(mylist))

list可以在其末尾加上新的元素,并且对其类型没有要求

mylist = []mylist.append(1)mylist.append(1.0)mylist.append("我是字符串")mysublist = []mylist.append(mysublist)print(mylist)

可以用索引来访问list的内容

mylist = [1,2,3,4,5,6,7,8,9,10]print(mylist)print(mylist[1])

for循环

有一个东西叫遍历

mylist = [1,2,3,4,5,6,7,8,9]for dongxi in mylist:print(dongxi,end="。")

python里没有数组,一般把list当作数组用

例如需要一个长5,每个数为0的数组:

array = []for i in range(5):array.append(0)print(array)

例如需要一个长2*3的数组:

array = []for i in range(2):subarray = []for j in range(3):subarray.append(i*3+j)array.append(subarray)print(array)

字典、集合、元组

了解一下

#python 还有字典mydict = {1:12,3:21}print(mydict[1])#python 还有集合myset = {12,21}print(myset)#python 还有元组mytuple = (1,2)print(mytuple[1])

函数

同样不能有大括号,用冒号加缩进来表示范围

def hanshu1():print("我是函数")hanshu1()

有参数的函数

def hanshu2(canshu):print("我是",canshu,"的函数")hanshu2("有参数")

函数的参数可以设默认值

def hanshu3(canshu="默认参数"):print("我的参数是:",canshu)hanshu3()hanshu3("你给我的参数")

#递归的函数

例子:斐波那契数列

def digui(n):if n == 1:return 1if n == 0:return 1return digui(n-1) + digui(n-2)for i in range(10):print(f(i),end=";")

Python求素数

随便写的求素数的函数

python相对比较慢,建议输入不要超过1000万

数很多的话,就不要print了(:_:)

import mathdef getPrimeNumber(n,printOutPut=False):recoder = [0 for i in range(n+1)];recoder[0] = 1recoder[1] = 1for i in range(1,int(math.sqrt(n))+1):if recoder[i] == 0:j = i + iwhile(j <= n):recoder[j] = 1j += iout = []for i in range(1,n+1):if recoder[i] == 0:out.append(i);if printOutPut:print(i)return outprimeNumbers = getPrimeNumber(1000000,False)print("素质个数:",len(primeNumbers))for primeNumber in primeNumbers:print(primeNumber)

Python归并排序

随便写的排序函数

python比较慢,建议排序的数的个数不要超过100万

同上,数很多的话,就不要print了(:_:)

def Sort(array):def mergeSort(lo,hi):if hi-lo<=1:return 0mid = int((lo+hi)/2)mergeSort(lo,mid)mergeSort(mid,hi)temp = []p1, p2 = lo, midwhile(p1<mid or p2<hi):if p1 >= mid:temp.append(array[p2])p2 += 1elif p2 >= hi:temp.append(array[p1])p1 += 1elif(array[p1]<array[p2]):temp.append(array[p1])p1 += 1else:temp.append(array[p2])p2 += 1array[lo:hi] = temp[:]l = len(array)mergeSort(0,l)def getRandomArray(length=100):import randomArray = []for i in range(length):Array.append(random.randint(0,1000))return Arraydef check(array):p = array[0]for i in array:if i < p:print("错了,wwww")return 0p = iprint("正确,你真棒,666,太强了")def printArray(array,end=" "):for i in array:print(i,end=end)Array = getRandomArray(length=100000)Sort(Array)check(Array)# printArray(Array,";")

txt文件的读写

迭代器与可迭代对象

for循环遍历的原理

for循环遍历的原理就是迭代,in后面必须是可迭代对象

为什么要有迭代器

对于序列类型:字符串、列表、元组,我们可以使用索引的方式迭代取出其包含的元素。但对于字典、集合、文件等类型是没有索引的,若还想取出其内部包含的元素,则必须找出一种不依赖于索引的迭代方式,这就是迭代器。

可迭代对象

__iter__法的对象,都是可迭代对象,有以下6种

可迭代的对象:Python内置str、list、tuple、dict、set、file都是可迭代对象

迭代器对象

可迭代的对象执行__iter__方法得到的返回值是迭代器对象。

迭代器对象指的是即内置有__iter__又内置有__next__方法的对象

list=[1,2,3,4]for x in list:print (x, end=" ") #两者都可以被for循环迭代print("\n")it = list.__iter__()for x in it:print (x, end=" ")print("\n")print(type(list)) #对比两者的类型print("\n")print(type(it))it = list.__iter__()# print(list.__next__+"\n") #可迭代对象不能用next()方法print(it.__next__)

文件类型是迭代器对象

open('a.txt').__iter__()open('a.txt').__next__()

总之,迭代器对象一定是可迭代对象,而可迭代对象不一定是迭代器对象

这里放一篇讲的很通俗易懂的文章

python迭代器生成器-迭代器和list区别 - zx125 - 博客园 ()

文件的读写

open() 方法

Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

**注意:**使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

open(file, mode='r')

参数说明:

file: 必需,文件路径(相对或者绝对路径)。mode: 可选,文件打开模式

这里只是部分的组合,感兴趣的可以自己再去做了解

File对象的属性

一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。

以下是和file对象相关的所有属性的列表:

file对象常用函数

File.close()

close()方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发ValueError错误。 close() 方法允许调用多次。

当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文件是一个好的习惯。

# 打开文件fo = open("esta.txt", "w")print("文件名为: ", fo.name)# 关闭文件fo.close()

File.read()

read()方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。

参数

size– 从文件中读取的字节数,默认为 -1,表示读取整个文件。

返回值

返回从字符串中读取的字节。

# 打开文件fo = open("esta1.txt", "rt",encoding='utf-8') # 在python中默认的编码方式是 “ gbk ”,# 而Windows中的文件默认的编码方式是 “ utf-8 ” ,#所以导致python编译器无法成功读取或写入文件内容。print("文件名为: ", fo.name)#line = fo.read(10)line = fo.read(13)print("读取的字符串: %s" % (line))# 关闭文件fo.close()

File.readline()

readline()方法用于从文件读取整行,包括 “\n” 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 “\n” 字符。

参数

size– 从文件中读取的字节数。

返回值

返回从字符串中读取的字节。

# 打开文件fo = open("esta1.txt", "r+",encoding='utf-8')print("文件名为: ", fo.name)line = fo.readline()print("读取第一行 %s" % (line))line = fo.readline(4)# line = fo.readline(6)print("读取的字符串为: %s" % (line))# 关闭文件fo.close()

File.seek()

seek()方法用于移动文件读取指针到指定位置。

语法

seek() 方法语法如下:

fileObject.seek(offset[, whence])

参数

offset– 开始的偏移量,也就是代表需要移动偏移的字节数**whence:**可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起

返回值

如果操作成功,则返回新的文件位置,如果操作失败,则函数返回 -1。

# 打开文件fo = open("esta2.txt", "rb+") #在文本文件中,没有使用b模式选项打开的文件,#只允许从文件头开始计算相对位置,从文件尾计算时就会引发异常。#所以这里以二级制模式打开‘b’print("文件名为: ", fo.name)line = fo.read(5)print("读取的数据为: %s" % (line))# 重新设置文件读取指针到开头fo.seek(4, 0)line = fo.read(5)print("读取的数据为: %s" % (line))# 关闭文件fo.close()

File.tell()

概述

tell()方法返回文件的当前位置,即文件指针当前位置。

语法

tell() 方法语法如下:

fileObject.tell()

参数

返回值

返回文件的当前位置。

# 打开文件fo = open("esta2.txt", "r+")print ("文件名为: ", fo.name)line = fo.read(5)print ("读取的数据为: %s" % (line))# 获取当前文件位置pos = fo.tell()print ("当前位置: %d" % (pos))# 关闭文件fo.close()

File.write()

概述

write()方法用于向文件中写入指定字符串。

在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。

如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错:TypeError: a bytes-like object is required, not ‘str’。

语法

write() 方法语法如下:

fileObject.write( [ str ])

参数

str– 要写入文件的字符串。

返回值

返回的是写入的字符长度。

# 打开文件fo = open("esta3.txt", "w+")print ("文件名为: ", fo.name)str = "esta666\nesta666"fo.write( str )fo.seek(0,0)line = fo.read()print ("读取的数据为: %s" % (line))# 关闭文件fo.close()

Python常用库

库是什么

库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。

python模块:包含并且有组织的代码片段为模块。

表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。

库有哪些(内置库)

库有哪些(第三方库)

库怎么安装

打开cmd命令窗口,通过命令 pip install 包名 进行第三库安装,此方法简单快捷。

库的导入

#导入一个模块import somemodule(模块)somemodule.somefunction() #调用该模块的某个函数#从模块中导入(一些)函数from somemodule import somefunction[,anotherfunction,...]somefunction()#给模块指定别名import somemodule as mm.somefunction()#导入模块中的一切函数from somemodule import *somefunction()#导入一个函数并指定别名from somemodule import somefuntion as ff()

库的实例使用

import time#1.0获得当前时间戳,是从1970年某一个时刻到今天的秒数print(time.time())#1.1易于阅读的时间:(被保存为字符串形式)print(time.ctime())#1.2易于计算机阅读的时间(保存为struct结构)print(time.gmtime())# 此外,python还提供了时间的标准化输出。t = time.gmtime()strtime = time.strftime("%Y-%m-%d %H:%M:%S",t)# time库通过time.perf_counter来获得当前时间戳,保存为浮点型start = time.perf_counter()# 用这个函数,我们可以计算程序执行的过程中的时间#time.sleep(2)end = time.perf_counter()print(end - start)

import numpy as np#或from numpy import *x=np.array([[1.0,0.0,0.0],[0.,1.,2.]])a = np.random.randn(10)b = np.random.normal(0, 1, (2,4))c = np.random.rand(2,3)d = np.random.uniform(-1,1,10)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。