20181218 2019-2020-2 《Python程序设计》实验一报告
课程:《Python程序设计》
班级: 1812
姓名:
学号:20181218
实验教师:王志强
实验日期:2020年4月11日
必修/选修: 公选课
1.实验内容
熟悉Python开发环境;
练习Python运行、调试技能;
编写程序,练习变量和类型、字符串、对象、缩进和注释等;
掌握git技能
2. 实验过程及结果
Python2与Python3
直接到Python的官方网站下载Python,应选择自己的操作系统对应版本安装,Python分2.x和3.x版本,2.x在2020年已经要逐步淘汰。如果同时安装了Python2和Python3,那么在命令行可以使用py -2和py -3来分别执行。比如,想要使用Python2运行1.py,那么在命令行中输入py -2 1.py执行即可。
如果需要使用pip工具,那么命令分别为py -2 -m pip install 要安装的库和py -3 -m pip install 要安装的库。
当然,如果想在任意路径执行Python,则需要对Python配置环境变量,而Python在安装时是可以勾选Path的,省去之后自己配置环境变量的麻烦。
同时安装Python2和Python3的好处是,网络上仍有许多脚本是由Python2来编写的,而且如果遇到第三方库只支持Python2或Python3时,可以选取对应版本的Python来运行。例如我电脑的Python2可以使用gmpy2库,而Python3可以使用rsa库,那么两个版本的Python我都需要。
Pycharm运行和调试代码
Pycharm建立项目时会形成一个虚拟环境,可以配置项目Python的库等等。安装第三方库的方法为File->Settings->项目->Project Interpreter,点击右侧加号即可。
新建项目后,在项目区域右键->New->Python File,新建一个.py文件就可以写代码了。运行当前代码的快捷键是光标在代码区时,CTRL+SHIFT+F10运行。如果想要自己配置运行使用的Python版本,那么点击右上方的Python图标->Edit Configurations。
调试的方式是点击右上角的小虫子图标,或者使用SHIFT+F9快捷键。可以在代码左侧行号处单击鼠标左键打上断点,这样调试时就会在断点处停下。可以在下方的变量区查看各变量的值。单步运行快捷键为F8和F7,其中F8把函数作为单独的一步,而F7则会进入函数一步步执行。
测试程序
代码如下:
# -*- coding: utf-8 -*-
# @Time : 2020/4/11 10:59
# @Author : 20181218-sl
# @Email : 1743207528@qq.com
# @File : exp1.py
# @Software: PyCharm
print("helloworld!")
"""变量"""
a = "1"
A = 1 # Python是大小写敏感的
_a = True # 下划线可以做变量名开头
a1 = 1.0 # 数字不可以做变量名开头
A1 = [1]
aA = {1}
Aa ={1:'h'}
Aa1 = (1)
aA1 = (1,4)
"""变量类型"""
print(type(a),end=' ')
print(type(A),end=' ')
print(type(_a),end=' ')
print(type(a1))
print(type(A1),end=' ')
print(type(aA),end=' ')
print(type(Aa),end=' ')
print(type(Aa1))
print(type(aA1))
"""字符串和缩进"""
# 字符串逆序
ori = "helloworld"
re = ori[::-1]
print(re)
# 按位异或、16进制转字符
str = "]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b"
for i in str:
print(chr(ord(i)^0x1F),end='') # 条件语句、循环语句内部分需要缩进4个空格
print('
')
"""对象"""
class Dio:
holding = "stoneface"
body = "Jonathan's body"
__servant = "vampire servant" # 私有属性
food = "bread"
def __init__(self):
print("Kono Dio da!!!")
def __eyedark(self): # 私有方法
print("这招以血蒙眼如何!")
def fly(self):
print("I can fly!!!")
def eat(self):
print("食物是面包")
class Kazi(Dio): # 继承
body = "Everything" # 覆盖属性
def __init__(self):
print("究极生物")
def eat(self):
print("食物是吸血鬼") # 方法重写
kazi = Kazi() # 实例化
print(kazi.holding)
print(kazi.body)
kazi.eat()
kazi.fly() # 继承方法
代码的码云链接为:https://gitee.com/python_programming/sl_20181218/commit/bf896614e3fa3422976193ae1ec273a58f7fc904
包含#和"""两种模式的注释,用"""注释分开四部分,分别是变量、变量类型、字符串和缩进、对象。并未面面俱到,只是在每个方面选取了一点自认为有趣或重要的知识点,一些解释我都写在代码注释中了。遇到的比较有趣的地方是,a = (1)的变量a的类型为int,而a = (1,2)的变量a的类型为tuple。
git的使用
关于git-Pycharm-码云的配置我已经制作视频上传,链接为:https://www.bilibili.com/video/BV1i7411A7Sp/
配置后,新建的.py文件会自动加入到git中,如果想commit,则使用快捷键CTRL+K,如果想push,则使用快捷键CTRL+SHIFT+K。
3. 实验过程中遇到的问题和解决过程
在本次实验中并未遇到问题,很多问题是以前遇到并解决的,现在都已作为定论形成在实验内容中,比如Windows同时安装Python2和Python3的兼容和使用、gmpy2库的安装、git的配置等等。广泛地讲,解决问题的过程都是搜索大量博客,多次尝试,最终找到自己问题的解决方法。
其他(感悟、思考等)
对于Python语言
Python非常简洁方便,也具有大量第三方库供使用,使得Python成为一个很好的CTF脚本工具,熟练掌握Python语法、Pycharm的使用对做题很有帮助。
对于解决问题
在Python学习中会遇到很多问题,事实上,在计算机实践课程中都是如此。在网上查找自己的问题基本可以解决所有问题,这是一个自学和提高的过程,但有时需要耐心和尝试,因为问题既有共性又有特性。掌握自主解决问题的能力是极为重要的。
参考资料