python 1_Python 1入门,入门教程

Python入门教程

以熟练使用Pytorch完成深度学习模型为目标,简单介绍Pytorch涉及到的Python基础(Python其它知识可以在遇到后再学习,先动手)。

这篇教程并不涉及Python的复杂方法,教程的结构如下:

1.Python实例

2.Python基础

- 2.1 Python数据类型

- 2.2 Python语法

3.

Numpy

4.

5.文件读写

6.错误分析

1.Python实例

先通过一个Python实例来看一下Python的语法,这里可以看到对于函数,循环,if判断,都是用四个空格缩进来表示函数体或循环体,类似C语言的{},不再缩进就表示退出了函数体,# 表示注释。

# 函数

def add_do(string):

if "$" not in string:

string = "$" + string # 字符串组合

return string

# 把以下列表中缺少$的都加一个$

test = ["1","16","3","$8","11","$25","77","7","15"]

# 方法1

for i in range(len(test)):

test[i] = add_do(test[i]) # 修改列表的第i个值

print(test)

输出:

['$1', '$16', '$3', '$8', '$11', '$25', '$77', '$7', '$15']

2.Python基础

2.1 Python数据类型

712fd689d68435dbde3aaba8d692a457.png

2.1.1数字

数字用于储存数值,包括整型与浮点型,支持常见的数学运算,对特殊的如sin,cos计算需要引入额外的官方库,后面会有说明。

############### 运算 ################

a = 10

b = 5

print(a/b)

数字常见的方法如下:

# 取整

a = 1.6

b = int(a) # int是截断取整,若要四舍五入可以用int(a+0.5)

print(b) # 输出1

# 幂次

a = 10 ** 3

print(a) # 输出1000

2.1.2字符串

字符串由任意符号组成,用一对单引号’’或一对双引号””括起,两种写法是一样的。

############### 字符串 ################

a = "abc"

b = 'abc'

print(a == b) # 输出True

# 字符串常见运算

# case1 字符串相加

a = "hello"

b = " " # 空格也是字符串

c = "world!"

print(a+b+c) # 输出"hello world!"

# case2 去除字符串头尾两端的符号

a = " my name is F! "

print(a.strip()) # 输出"my name is F!"

b = "my name is F!\n"

print(b.strip("\n")) # 输出"my name is F!"

# case3 替换

a = "mh name is F!"

print(a.replace("h", "y")) # 输出"my name is F!"

# case4 分割字符串

a = "x1=1,x2=2,x3=3,x4=4"

l = a.split(",")

print(l) # 输出['x1=1', 'x2=2', 'x3=3', 'x4=4']

练习:

字符串a = ”hello world”, 判断”world”是否在字符串a中。

2.1.3列表(重点)

列表是Python中最基本最常用的数据结构,也是numpy数组的基础,需要重点掌握。

2.1.3.1列表访问

列表用[n]符号进行访问,且n从0开始,注意列表截取查询时,写法是a[x:y]表示取x,x+1,x+2…y-1,不包含y这个位置的值,类似于集合的左闭右开[x,y)。

l = [1,2,3,4,5] # 定义一个长度为5的列表,元素可以为数值,字符串,列表,字典等

# 列表访问,可以正序与倒序访问。

print(l[0]) # 输出1,即列表的第一个元素

print(l[-1]) # 输出5,即列表的最后一个元素

#print(l[5]) # 报错,超出列表范围。

2.1.3.2 列表常用方法

# 列表截取

b = l[1:3]

print(b) # 输出[2,3],即列表的第1个元素到第3-1个元素

# 列表常用方法

# case1列表添加元素

a = ["a","b","c"]

a.append("d")

print(a) # 输出['a', 'b', 'c', 'd']

# case2列表删除元素,通过指数删除

a = ["a","b","c"]

del a[0]

print(a) # 输出['b', 'c']

# case3 求长度

a = [1,2,3,4,5]

print(len(a)) # 输出5

# case4 判断元素是否在列表中

a = ["x","y","z"]

if "x" in a:

print("x in list a!")

2.1.3.3 列表循环

# 列表循环方法1,不能修改列表中的元素

a = [1,2,3,4,5]

for item in a:

item=0

print(a) # 输出[1,2,3,4,5]

# 列表循环方法1,可以修改列表中的元素,但是不建议直接修改列表中的元素。

a = [1,2,3,4,5]

for i in range(len(a)):

a[i]=0

print(a) # 输出[0,0,0,0,0]

2.1.3.4 转化为列表

# 其它数据类型转为列表,几乎万物皆可列表

a = "he wo!"

print(list(a)) # 输出['h', 'e', ' ', 'w', 'o']

a = set((1,2,3)) # 定义集合

print(list(a)) # 输出[1, 2, 3]

练习1:

列表a = [1,2,3],列表b = [3,4,5],问:a+b等于什么?

练习2:

列表a = [[1,2,3],[4,5,6]],列表的size为2*3,访问列表的第一行(最外层),第二列元素(里层)。

2.1.4元组

元组与列表类似,只是一旦定义后无法更改,元组基本支持列表除了增删操作以外的所有方法。

2.1.5字典

字典由键与值组成,它们之间一一对应,字典的一一对应是个很重要的特性。

97e49123cf51361b09be4eccc514c137.png

字典的意义:

1.Python用字典查询很快,列表的话需要遍历查找。

2.经常需要存储一一对应的值,比如有十个人,每个人借了几本书,通过字典的人名与书名列表可以用一个变量来储存,不然可能需要十个变量来储存。

练习1:

用一个字典储存字典的意义2中描述的问题。

2.2 Python语法

2.2.1 print

程序运行时间通常会比较长,中途很多步骤打印结果方便自己知道运行进度,运行结果,如果有错误可以马上停止程序。

print有以下三种常见方式。

print("hello python!")

print("pi is:",3.1415926)

print("a={0},b={1}".format(1,2))

字符串的格式化方法.format()比较常用,可以用(1,2,…)中的数据1,2,…替换字符串中的{},按顺序依次替换。

2.2.2 if条件判断

# True,False为bool值,首字母大写

# if判断语句后面冒号,且判断的内容行缩进四个空格

if True:

print("True")

a = 10

b = 5

if a > b:

print("a = ",a)

print("b = ",b)

print("a is bigger than b!")

elif a == b:

print("a = ",a)

print("b = ",b)

print("a is equal to b!")

else:

print("a = ",a)

print("b = ",b)

print("b is bigger than a!")

单个条件的写法有以下三种比较常见,形式不单一,只要if后面跟着判断即可,不过判断的等号要注意是两个等号”==”,例如if a==1:

# 单个条件的写法

if a > b:

pass

if a in list:

pass

if True:

pass

# 多条件的写法

if a > b and a > c:

pass

if a in list and a >b:

pass

if a >b or a>c:

pass

2.2.3 for循环

1b21b3559f59bda6ede6bd9af1e06cd4.png

第一行为循环判断,如果满足条件,则进入循环体,执行完循环体后i自动更新为下一个,再到第一行的判断…

continue:进入循环判断,不执行后面的判断是否等于50以及打印

break:退出循环

练习1

:# 把以下列表中缺少

的都在前面加一个

符号

test = [“1”,“16”,“3”,"$8",“11”,"$25",“77”,“7”,“15”]

2.2.4 函数

定义函数的格式如下:

"""

def 函数名(形参1,形参2,...):

函数内容

return 结果

"""

函数的定义与调用实例:

def my_sum(a,b):

result = a + b

return result

c = my_sum(1,2)

print(c)

注意:

后续设置的变量名称不能与函数名重复

2.2.5 import模块

Python之所以好用,是因为有很多开发者提供了各个领域的模块,从数学运算,地理信息,图像处理各个方面都有“包”提供,基本上都涵盖所需要的代码,所以Python开发者又称为“调包侠”。

Python是脚本语言,但是一个项目一般不会只有一个.py文件,多个.py文件之间的交互通过import模块来实现。

2.2.5.1 import官方库

Python官方提供了很多库,比如math,内置很多sin,cos等计算的函数。

"""

方法1:from A import a,b,...

方法1 import的函数可以直接调用

方法2:import A

方法2可以通过点符号来调用A中的函数,有时调用的库名字太长可以用as定义一个缩写

方法3:from A import *

方法3直接把库中的所有函数都import,要慎用,避免与自己的代码变量重名。

"""

# case1

from math import sin,cos

print(sin(1))

# case2

import math as m

print(m.sin(1))

# case3

from math import *

print(sin(1))

2.2.5.2 跨文件调用方法或者类

创建两个文件,一个test1.py,一个main.py,要在main.py里调用test1.py中的函数。

在test1.py中编写函数主体:

99dd6bdaea253895b9c6dfe191538349.png

在main.py中调用:

8c98c744dd4e7ab07b7f689f7af04e3f.png

这里可以看到用from xxx import xxx的形式可以引入其它文件,那问题来了,程序怎么知道test1.py文件在哪里呢?会搜索本地资源吗?test1.py放在哪里该代码才能生效?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值