PythonBasicTutorial
畅读版
首先百度Python,Pycharm,Anaconda,下载三个安装包并安装,注意Python安装的时候要选择添加环境变量,这样就可以在Windows系统自带的命令行里输入“python”命令,然后跳转到相应的文件夹,运行相关Python文件,这样文件的轻量级运行比在集成环境中运行耗费的资源要小得多。如果没有设置环境变量就要在命令行中先跳转到Pyhton的安装文件夹,然后再运行“python”命令,进入Python的编译环境。
打开安装好的JupyterNotebook程序,可以创建文件夹和Python文件,然后运行,注意Python中的变量可以直接赋值(a=3),运算符支持加减乘除整除和乘方(+ - * / // **),字符串用引号表示(“”),可以引索(str[0]),替换(str[8]=‘a’),添加(str1.append("add")),拼接(str0+str1),还有自带的方法,比如按空格分隔变换成列表(str.split(" ")),或者说是把复合数据类型的元素用某个标点符号拼接起来转换成字符串(",".add(list)),当用input从键盘读取数据是字符串的形式,可以通过数据类型关键字加括号强制转换,最常用的是把字符串强制转换成整型(int(input("Please input your name:")))。复合数据类型有列表,用中括号表示,可以包含任意数据类型(list=["str",8,[1,3]]),元祖用小括号表示,也可以直接用逗号隔开默认是元祖,与列表唯一的区别是元素一旦赋值不能改变(tuple=(2,[2,3],"a")),集合用大括号表示,可以做布尔运算,但只能包含一种数据类型,会自动删除重复元素(set={[2,3],[1,3],["r","3"]}),字典也用大括号表示,键值用双引号括起来,中间用冒号隔开表示键值对应的值,其中键值不可以重复(dictionay={“Mary”:24,"Jack":78})。它们都可以求长度(len(compounddata))。
常用的控制语句有条件语句,条件语句(if elif else)的条件表达式是由逻辑运算符(and or not)和关系运算符(> < = >= <= ~=)组成,循环语句(for i in list,while i in list)常用来遍历复合数据类型,注意字典的默认数据类型是键值,如果要显示值需要用键值去引索。主函数在python中并不代表程序的起点,知识一个普通的判断语句用来标识程序从哪里开始执行,有些特殊的函数,比如条件判断中的主函数(if name==__main__),类中的初始化函数。函数的参数除了有形式变量,在前面加一个星号,可以将传入的多个参数组成元祖,当前面有双星号时,可以传入字典数据类型,直接用键值等于值的方式传入多个字典类型元素就可以了。
Python中的类有初始化函数,通常用来初始化属性的值,如果作为参数传入了就直接赋值,没有的话,如果是字符串就用None替代,如果是数字就用0替代,注意类的所有函数都必须传入类本身,作为参数。当一个类继承另一个类时,可以继承该类的全部属性和函数,当子类中有和父类同名的函数时,可以覆盖父类原有的函数(多态),当函数中传入父类名作为形参时,在实际调用中可以传入它的任意子类,具体的方法由子类决定。
异常是指有些情况语法没错误(try except),逻辑没错误,但是是一些常识问题,只有人类才能理解的约定俗成的问题,比如除数不能为0等,出现这些错误,一般程序会停止运行,如果只是想让计算机报错,提醒程序员,就需要用到异常捕获,也就是程序在执行时,如果遇到上述异常,会提出异常警告。
烧脑版
环境安装
Python网址:https://www.python.org/downloads/
Pycharm网址:http://www.jetbrains.com/pycharm/nextversion/
Anaconda网址:https://www.continuum.io/downloads/
变量定义及基本数据类型
算术运算:+,-,*,/,//,**
关系运算:>,<,>=,<=,!=
位运算:&,|,^,~
逻辑运算:and,or,not
字符串:a=“HelloWorld ”,b='Today',a+b,a[0:2],a[-3],a[-1],len(a)
列表:c=[666,"NiHao",[1,2]],c.append(3),c[0:2]=['A','B']
控制语句
条件:if BoolenExpression(关系运算,逻辑运算) : Statement+elif : Statement+ else:Statement+RestOfCode
For循环:for i in len[a]:print(a[i]),range(0:5),break,continue
While循环:n=0+m=1+max=200+while(n<200):n,m=m,n+m
Output:print("User's first name is {f},and last name is{l}".format<f=fname,l=lname>),print(字符串,运算表达式,变量,符合数据类型)
Input:m=int(input("Please input the first number:"))
函数
函数:def power(x,y):return x**y,def calcu(x,y,method):if method=="add":return(x+y)+elif method=="sub":return(x-y)+else:print("Please input the correct method")
形参:def power(x,y=3,z="the result is:"):return z+str(x+y)
元祖:值一旦确定不能更改,d=1,2,3,d=d,(4,5,6),a
集合:同种(复合)数据类型,自动删除重复数据,无顺序,e={1,2,3},c=set([3,4,5]),e-c={1,2},e.intersection(c)={3},e.union(c)={1,2,3,4,5},e.difference(c)={1,2}
字典:key,value,自动删除重复键值,无顺序,f={"Peter":89,"Mary":90,"Jack":68},for key in f:print(f)==for key in f.keys():print(key),for key in f:print("key",key)+print("value",f[key]),for key in f : print("key={} value={}".format(key,f[key])),f["Peter"]=78,有就修改,没有就添加,del f["Mary"]
ArbitraryParameter:def students(*args,msg="Students' name are:"):names=','.join(args)+print(msg+names),students("Peter","Mark","Jack"),将传入的多个参数视为一个元祖。
DoublestarArbitraryParameters:def cheeseshop(*args,**keywords):for arg in args:print(arg)+for key,value in keywords.items():print(key,":",value),cheeseshop("the key persons are:",shopkeeper="Peter",client="Tom"),将传入的多个参数视为字典
主函数:def main():while true:factors=input("Please input numbers and method name splitted with space:")+factors=factors.split(" ")+if factors[0]=="exit":break+else:re=calcu(int(factors[0]),int(factors[1]),factors[3]))+print(re)+if __name__=='__main__':main(),这里的main函数不代表程序的起点,换句话说if下的条件表达式注释程序的开始,条件语句代表执行的内容
面向对象
对象:class Person:def __init__(self,name,age,sex):self.name=name+self.age=age+self.sex=sex,def eat(self):print("self.name,"is eating""),class Person:def __init__(self):self.name=none+self.age=0+self.sex=none,person_obj=Person()+person_obj.name="Lucy"+person_obj.eat(),person_obj2=Person("Steven",33,“male”)
继承:class Student(Person):def __init__(self,name,age,sex):Person.__init__(self,name,age,sex):self.student_id=none,def study(self):print(self.name,"is studying")
多态:def work(self):print(self.name,"is doing homework"),def hire_to_work(person):person.work()+hire_to_work(student2)
异常处理
异常:防止发生异常退出程序,def division(number1,number2):try:result=number1/number2+print(result)+except ZeroDivisionError:print("divisioned by zero!")+finally:print("We can address the crash here")
参考教程:《零基础3天精通Python3.6》(网易云课堂)
推荐一个练习编程的网站:CoderByte
速记视频
PyhonBasicTutorial