摘要这是python入门的第二篇,这一篇主要会讲python中的基础语法,如基础的数据类型,控制结构,运算符和异常处理。
简介
这一篇会介绍关于Python的基础语法. 包括常见的数据类型, 运算符, 逻辑控制, 异常处理等. 关于更多入门教程, 可以通过下面的链接查看.
数据类型
int 整形
float 浮点型
complex 复数
None 空值,与0不同
使用type来查看数据类型
数据类型的转换
int(x) 将x转换为整形
float()
例子
#下面代码在ipython中进行测试
a = 1
type(a)
>> int
a = float(a)
type(a)
>> float
python查看内存地址
我们使用id来查看python中变量的地址. 例如下面的例子, 我们查看递归的过程中, 函数的参数和函数的地址.
def tt(n, memo={}):
# 终止条件
if n == 1:
memo[n] = 1
return
# 调用递归
print('调用递归前:{}, address:{}, f address:{}'.format(memo, id(memo), id(tt)))
tt(n=n-1)
# 处理数据
memo[n] = n
print('=>调用递归后:{}, address:{}, f address:{}'.format(memo, id(memo), id(tt)))
if __name__ == "__main__":
tt(n=3)
输出的值如下所示. 可以看到递归的时候使用的函数是一个, memo变量也是一样的.
调用递归前:{}, memo address:1687013455840, n address:140713978278800, f address:1687130753088
调用递归前:{}, memo address:1687013455840, n address:140713978278768, f address:1687130753088
调用递归后:{1: 1, 2: 2}, memo address:1687013455840, n address:140713978278768, f address:1687130753088
调用递归后:{1: 1, 2: 2, 3: 3}, memo address:1687013455840, n address:140713978278800, f address:1687130753088
python字符串的使用
\的使用
\作为python中的转义符
如果字符串中出现引号,则使用\来进行转义
a = '\'hello world\''
print(a)
>> 'hello world'
字符串末尾\来进行换行
可能用来保持代码整洁性,不让字符串拖太长。
str1 = 'it is a string\
.it is a string.'
print(str1)
字符串的连接
使用+来连接字符串
a = 1
b = str(a)+'+'+str(a)+'=2' #这里思考为什么要用`str(a)`
print(b)
>> 1+1=2
字符串切片
字符串可以有数字索引的
a = '1234567'
a[0]
>> '1'
a[-1]
>> '7'
#返回字符串长度
len(a)
字符串切割
我们可以使用split来进行字符串的切割
a = 'hello:world'
a.split(':')
>> ['hello','world']
运算符
数学运算符
python3中的数学运算符与数学中的运算符基本类似, 这里介绍一下几个不熟悉的.
首先是整除和取余数. 例如9=2*4+1, 我们获取9除4的倍数和余数.
9//4
>> 2
9%4
>> 1
接着是幂运算. 例如要计算2^3.
2**3
>> 8
逻辑运算符
True and False
True or False
控制结构
选择控制
a = 10
if a>15:
print('a>5')
elif a>10:
print('15>a>10')
else:
print('a<10')
>> 'a<10'
循环控制
for循环
for循环主要是依次取出列表中的一个项目,对列表进行遍历处理
for i in '1234567':#思考为什么这里可以这么写
print(i)
for i in range(7):
print(i)
while循环
a = 10
while a>5:
print(a)
a = a-1
break和continue
break--停止当前循环
continue--跳过当前循环中的一轮
for a in range(10):
if a==5:
break
print(a)#这里输出到4时停止
for a in range(10):
if a==5:
continue
print(a)#这里输出里没有5
异常处理
使用raise
当程序出现错误的时候, 或是运行和我们预想的不一样的时候, 我们可以通过raise显示地引发异常. 一旦使用了raise, raise后面的内容就不会再执行.
我们可以定义一个显示错误的函数, 在里面详细说明报错的原因.
def ThorwErr():
raise Exception("抛出一个异常")
ThorwErr()
之后可以得到以下的报错内容.
Traceback (most recent call last):
File ".\ra.py", line 4, in
ThorwErr()
File ".\ra.py", line 2, in ThorwErr
raise Exception("抛出一个异常")
Exception: 抛出一个异常
使用try与except
我们在这里使用try,except进行简单的异常处理
try:
pass#这里可以输入其他一些代码
except:
print('Error')
注释
在python中,注释需要以#开头
使用'''来进行多行注释
例子
#下面是注释的例子
print(1+1) #打印1+1的结果
#下面是多行注释
'''
print(1+1)
'''
练习
输入数字,返回1-10乘该数字的结果
python3 test.py 7
>> 1*7=7
2*7=14
3*7=21
4*7=28
5*7=35
6*7=42
7*7=49
8*7=56
9*7=63
python3 test.py a
>> 请输入数字
参考答案
import sys
try:
num = int(sys.argv[1])
except:
print('请输入数字')
exit()
for i in range(1,10):
print(str(i)+'*'+str(num)+'='+str(num*i))
~~ by WMN