深度学习应用开发-TensorFlow实践笔记(二)——Python入门

Python总结笔记

在Jupyter notebook里编的哦!
主要是浙江大学吴明晖老师主讲的深度学习应用开发-TensorFlow实践Mooc里的知识点笔记以及代码练习

变量与数据类型

int_a=5     #定义一个整型
float_b=6.15    #定义一个浮点型
string_c="Hi"    #定义一个字符串
print(int_a,type(int_a))     #显示类型,python会自动根据你给的值判断数据类型
print(float_b,type(float_b))
print(string_c,type(string_c))
print(complex(5,5.2))       #显示复数
varl=0b10;var2=0o10;var3=0x10   #显示进制数,0b,0o,0x分别代表二进制,八进制,十六进制
print(varl,var2,var3)
number_a=10**3     #10的三次方
print(number_a)
number_a==int_a+int(float_b)   #判断是否相等

列表 元组 字典 集合

列表使用方括号[]

numbers=[1,5,78,4,57,5,75,63,25,9,4]   #定义一个列表
print(numbers[0:-2])  #列表下标从0开始,原列表从左到右依次输出到25结束的一个列表
print(numbers[::3])   #从下标0开始,间距为3,依次输出
numbers.sort()       #对列表进行升序排列
print(numbers)     #输出排列后的列表
numbers.remove(75)  #删除列表元素
print(numbers)     
print(numbers.clear())    #清空列表

元组使用圆括号(),不可更改

tuple1=(2,5,6,7)  #定义一个元组
print(tuple1.index(6))  #输出6的下标 
a,b,c,d=tuple1     #拆包
print(a)

字典使用大括号定义{}

普通构造方法

student={"name":"Ella ","student ID":201111111,"gender":"female","height":175}
print(student.get("name"))   #获取字典里的信息
student["height"]=165     #更改字典里的信息
student["weight"]=60      #扩充字典信息
print(student)    

元组序列构造字典

student1=dict([('name','Ella Smith'),('student QQ',123456789),('gender','female')])
print(student1)

直接构造法

student2=dict(name='Jack Smith',weight=65)
print(student2)
print(student2.keys()) #显示字典里的name,weight之类的

集合set

|用于并集,&用于交集,-用于差集A-B在A中不在B中,^集合的补,两集合中不同时存在的元素集合

set1={11,54,14,11,2,45,11,45,54}
print(set1)
set2={1,5,4,2,54,69,10,69}
print(set1|set2)
print(set1&set2)
print(set1-set2)
print(set1^set2)
print((set1|set2)-(set1&set2))

输出格式化

print("%c"%"A")
print("%s"%"I want to come back to school")
print("%f"% 12)   #12.000000输出浮点型
print("%d"% 12.8)  #12
print("%#o"% 154)    #十进制转换八进制 0o232
print("%#x"% 154)    #十进制转换十六进制 0x9a
print("%e"% 12543333215)  #科学计数法
print("%10.2f"% 1204.124)  #小数点后保留两位,一共占十位

填充格式控制字符串

print("I am the student of %s and my student ID is %d"%("UESTC",2018140601025))
print("I am %(name)s and my weight is %(weight)d kg"%{"name":"John","weight":65})

转换类型

a=65.214
print(int(a))   #浮点数转换成整型
b=5
print(float(b))    #整型转换成浮点数
print(ord("A"))     #对照ASCII码表,输出为整型
print(chr(120))      #返回为String类型,对照ASCII码表
tuple0=(45,1,2,45,8,32,10,2)  #元组
list0=list(tuple0)            #元组转换成列表
set0=set(tuple0)              #元组转换成集合
print(tuple0)
print(list0)
print(set0)
tuple1=(("name","Joe"),("gender","male"))  #元组
dict1=dict(tuple1)          #元组转换成字典
print(tuple1)
print(dict1)

表达式计算

x=26
y="0.15*x+24//2"      #定义一个计算式字符串
print(y)              #输出字符串
print(eval(y))    #eval()将字符串str当成有效的表达式来求值并返回计算结果

循环语句if-else , if-elif-else

weight=input("please put a positive number which is your weight in kg:")
weight=float(weight)
if weight>85:
    print("your weight is %.2f kg"%weight)
    print("it is time to go on diet and exercise!")
elif weight<45:
    print("your weight is %.2f kg"%weight)
    print("you should eat more")
else:
    print("your weight is %.2f kg"%weight)
    print("you are healthy")

while循环

#统计2的100次方有几个6
num=2**100
print(num)
count=0
while num>0:
    if num%10==6:   #相除取余,取末位数验证
        count+=1
    num=num//10     #相除取整,舍掉末位数,进行下一次验证
print(count)

for循环

#统计2的100次方有几个6
num=2**100
count=0
for digit in str(num):
    if digit=="6":
        count+=1
print(count)
#list1里的每个元素一次乘上list2里的每个元素,一次输出
list1=[1,5,8,4]
list2=[2,4,6,9]
[x*y for x in list1 for y in list2]
#输出list1里大于零小于5的数
[x for x in list1 if 5>x>0]

循环嵌套

#打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        result=i*j
        print("%s x %s= %-5s"%(i,j,result),end='')
    print()
#end='' 意思是不需要换行,print()自带换行

break用在while和for循环中

#记录0在2的100次方中第一次出现的位置:
num=2**100
pos=0
for digit in str(num):
    pos+=1
    if digit=="0":
        break     #跳出整个for循环

print("2的一百次方为%d\n 0在2的一百次方出现的位置是第%d个"%(num,pos))  
#2到100之间的素数
i=2
while i<100:
    j=2
    std=0
    while j**2<=i:
        if i%j==0:
            std=1
            break     
        j+=1
    if std==0:
        print(i,"是素数")
    i+=1

continue跳出当前循环,直接进入下一个循环

#删除数字里的9
numb=2**100
without9=''
for digit in str(numb):
    if digit=="9":
        continue
    without9+=digit
print("2**100 is %d \nthe number without 9 is %s"%(numb,without9))

pass语句,为了保持结构完整性(占位子)

#删除数字里的9
numb=2**100
without9=''
for digit in str(numb):
    if digit=="9":
        pass
    else:
        without9+=digit
print("2**100 is %d \nthe number without 9 is %s"%(numb,without9))

函数

###函数定义的语法形式
    def functionname(parameters):
        "函数_文档字符串"
        function_suite
        return[expression]
#计算5!
def fact(n):
    result=1
    for i in range(1,n+1):
        result=result*i
    return result
    fact(5)  #函数调用
def fun_example(listp,intp=0,stringp="it is my fault"):
    "这是一个略显复杂函数的例子"   #函数的帮助文档
    listp.append("A new list")
    intp+=1
    return listp,intp,stringp
#调用帮助文档
fun_example.__doc__
#调用函数
my_list=[1,5,41]
my_int=12
print(fun_example(my_list,my_int))
print(my_list)

全局变量和局部变量

number=10
def func1():
    number=4
    print(number)

print(number)    #number=10 全局变量
func1()          #number=4 局部变量
number=5

def func2():
    global number    #声明成全局变量
    number=4
    print(number) 
        
func2()      #输出为4
print(number)   #输出为4

类的格式

class ClassName:
'类的帮助信息’ #类文档字符串
class_suite #类体

class_suite由类成员、方法、数据属性组成
class DeepLearner(object):
   
    #定义基本属性
    learncount=25
    
    #定义构造方法
    def __init__(self,name,schoolname):
        self.name=name
        self.schoolname=schoolname
        DeepLearner.learncount+=2
    
    def getName(self):
        return self.name
    
    def getSchoolName(self):
        return self.schoolname
    
    def displayCount(self):
        print("Totle DeepLearner count is %d"% DeepLearner.learncount)
    
    def displayLearner(self):
        print("Name:%s, School:%s"%(self.name,self.schoolname))   
newLearner = DeepLearner('sherry','UESTC')  #声明类
#调用类里的方法
print(newLearner.getName(),newLearner.getSchoolName())
newLearner.displayLearner()
newLearner.displayCount()

写文件

#写文件,with open里有两个参数,第一个是文件名,第二个代表模式,wt为写入,as后面是文件别名
with open("Python notebook.txt","wt") as out_file:
    out_file.write("Hello,World!\n你好!")
    
#读文件
with open("Python notebook.txt","rt") as in_file:
    text=in_file.read()
    
print(text)
#当文件名里有中文的时候需要加一个encoding=‘UTF-8’
with open("医学图像处理.txt","rt", encoding='UTF-8') as some_file:
    text0=some_file.read()
    
print(text0)

异常处理(try—except)

def except_function():
    try:
        10/1
    except ZeroDivisionError:
        print("发生除零错误了!")
    else:
        print("一切正常啊!")
        pass
    finally:
        print("finally必须执行,不管有没有发生异常。")

except_function()

导入外部库

使用import [libname]来导入外部库。可以用from [libname] import [funcname]来导入所需要的函数

import random
from time import time
import numpy as np
import matplotlib.pyplot as plt

randomint=random.randint(1,100)  #生成一个1-100的随机数
print(randomint)

startTime=time()             
print(startTime)

x_data=np.linspace(1,120,100)    #在1-120间等距离生成100个数
y_data=3*x_data+1.5
print(y_data)

#在Jupyter中,使用matplotlib显示图像需要设置成inline模式,否则不会显示图像
%matplotlib inline
plt.figure()
plt.scatter(x_data,y_data)   #画散点图
duratime=time()-startTime    #记录所用时间
print(duratime)

你可能感兴趣的:(学习笔记,python)