文章目录(Table of Contents)
简介
这一篇会介绍关于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后面的内容就不会再执行。(例如我们自定义了一些不合法的输入,就可以使用 raise 来抛出异常了)
我们可以定义一个显示错误的函数, 在里面详细说明报错的原因.
- def ThorwErr():
- raise Exception("抛出一个异常")
- ThorwErr()
之后可以得到以下的报错内容.
- Traceback (most recent call last):
- File ".\ra.py", line 4, in <module>
- ThorwErr()
- File ".\ra.py", line 2, in ThorwErr
- raise Exception("抛出一个异常")
- Exception: 抛出一个异常
参考资料, python中异常处理--raise的使用
使用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
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论