起因:
同学由于毕设需要(时间较紧),需要用python写程序,但是她只学过C语言,于是写了这篇文档用于帮助她速成,所以这不是正经的编程语言入门,只是在你会C/C++/Java/C#/Kotlin/Go 等任一门语言的前提下,想临时用Python完成某项任务,比如老师强制规定,比如画图之类,时间有很紧,希望快速上手时的选择.
Gitee资源文件
#这是单行注释
"""
这是
多行注
释
"""
变量
Python中一切都是对象,不像C/C++/Java中的基本数据类型如int bool float
a=3,代表首先堆中一个新建的对象,这个对象包含三个属性
type()->查看一个变量是什么类型
a=3
print(type(a))
#输出: ,说明3是int类型
a="hello"
print(type(a))
#输出: ,说明"hello"是字符串str类型
id()->查看一个变量的内存地址
a="hello"
print(id(a))
#输出:0x21ddddaf7f0
模块
Python是脚本语言,不像,C,C++,Java那样有main函数入口,他们是必须程序从main函数中执行,而Python是一个文件称为"一个模块",模块中的程序从上往下执行.
每一个.py文件(模块)都有一个自身的属性"__name__"
,这个属性的取值有两个
第一个就是"__main__"
,也就是自身作为程序执行的时候,而不是作为模块引入别的程序
第二个就是自身文件名,比如Hello.py如果被作为模块引入到别的程序中,那么Hello.py的
"__name__"
属性的值就是Hello
缩进
print("Hello World")
print("Hello, {0}, 成绩提升了 {1:.1f}%".format("小明", 17.125))
#输出:Hello, 小明, 成绩提升了 17.1%
print("{0}是个{1}".format("你","好人"))
#输出:你是个好人
#print输出默认是换行的
#print("Hello") 相当于 print("Hello",end="\n")
#以下语句可保证不换行
print("Hello",end="")
a=input()
print(a)
#键盘输入一个值
a="我是字符串"
b='我也是字符串'
#单引号和双引号圈出来的都是字符串
#Python中的布尔值:
True False #首字母大写
"""
C++ 中的常量一般这样
const int a=3;
一旦你在程序中对a赋值,IDE会自动报错
"""
"""
Python中没有语法上的常量但你仍然可以用 PI=3.1415来表示常量
只不过你仍然可以修改,也就是说,改不改全靠你自觉
"""
a=6
if(a>7):
print("a比7大")
elif(a<2):
print("a比2小")
else:
print("a大于2小于7")
#输出:a大于2小于7
a=7
if(a<9 and a>6): #and->并且,or->或者,not->非
print("6)
#输出:6
myList = ['zp1', 'zp2', 'zp3'] #定义列表,[] 中括号
print(myList[0]) #取出第一个元素
print(myList[-1]) #取出最后一个元素
len(myList) #获取列表长度
print(myList[len(myList)-1]) #记得最后一个元素的索引是len(myList) - 1
#list是一个可变的有序表,所以,可以往list中追加元素到末尾:
myList.append('zp4')
#也可以把元素插入到指定的位置,比如索引号为1的位置:
myList.insert(1, 'zp5')
#要删除list末尾的元素,用pop()方法:
myList.pop()
#要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
myList.pop(1)
#要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
myLists[1] = 'zp7'
#list里面的元素的数据类型也可以不同,比如:
L = ['Apple', 123, True]
classmates = ('Michael', 'Bob', 'Tracy') #小括号
#定义字典,其实说白了,字典就是一堆键值对key-value
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
#例:
print(d['Michael'])
#输出:95
d['Michael']=76 #赋值
#方式一遍历:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
#输出:
Michael
Bob
Tracy
#方式二遍历:
for i in range(5):
print(i)
#输出:
0
1
2
3
4
#方式三遍历:(从3-9,步长为2)
for i in range(3,9,2):
print(i)
#输出:
3
5
7
#定义函数
def add(x,y):
return x+y
#使用函数
print("5+2的结果是:{0}".format(add(5,2)))
#输出结果: 5+2的结果是:7
#导入math包,可以使用一些数学函数
import math
#定义一个函数,让他返回所谓的多个值
def sin_cos(x):
nx=math.sin(x)
ny=math.cosh(x)
return x,nx,ny
#调用函数,求解pai /6 的正弦和余弦函数
print(sin_cos(math.pi/6))
#但其实这只是一种假象,Python函数返回的仍然是单一值:
result=sin_cos(math.pi/6)
print(result)
#输出:
(0.5235987755982988, 0.49999999999999994, 1.1402383210764286)
#由此可见
"""
原来返回值是一个tuple,但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
"""
#定义一个Student,继承自公共基类object类
class Student(object):
#相当于构造函数,self是指对象本身,相当于Java中的this
def __init__(self,name,study):
self.name=name
self.study=study
def printMine(self):
print(self.name+"在"+self.study)
#按照构造函数的方式初始化对象
stu=Student("zp","学习")
#调用对象的printMine函数
stu.printMine()
"""
1.注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身.
2.有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去.
3.和静态语言不同,Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同.
"""
格式:import 包名.文件名 as 别名
比如我自定义在hhlt包下的一个Hello.py文件,里面自定义了一个printMyself()函数
若想在别的文件中调用这个函数,需要导入Hello.py文件
import hhlt.Hello as ho #导入包,并且取个别名
ho.printMyself() #调用Hello.py下的printMyself()函数
Gitee资源文件-包含matplotlib库简单使用-现用现查即可