学习一门技术仍是推荐从官方教程学起,其余资料做为辅助html
官网:https://www.python.org/java
python3官方教程:https://docs.python.org/zh-cn/3/tutorial/index.htmlpython
PATH变量增长python安装目录,例如C:\Users\Administrator\AppData\Local\Programs\Python\Python37windows
环境变量设置好后执行python进入解释器,若是打印解释器版本等信息证实安装成功数组
解释器支持交互式的代码执行,咱们能够直接在解释器命令行录入代码并执行获得结果。例如:app
建立test.py文件并录入如下代码less
#!/usr/bin/python3 print("Hello, World!")
执行test.py文件输出执行结果。函数
PyCharm是JetBrains公司旗下的python集成开发工具。java开发时就常用IDEA因此值得信赖。工具
官网地址:https://www.jetbrains.com/pycharm/学习
在官网下载安装包,目前咱们只要下载免费的社区版便可。
windows环境的安装没有什么特别。在安装时咱们能够选择是否创建快捷方式和菜单项、是否关联.py文件、是否建立环境变量
添加一个已安装的编译器
咱们能够经过右上角功能区,执行或debug项目
+ - * / | 加减乘除 |
|
// | 除法取整 | 23//8 = 2 |
% | 除法取余 | 23%8 = 7 |
** | 幂值计算 | 5**3 = 125 |
j | 复数虚部表示 | 3+5j |
= | 变量赋值符号 |
<,>,== | 小于,大于,等于 | |
<=,>=,!= | 小于等于,大于等于,不等于 | |
in | 包含 | input = 'yes' if input in ('y','ye','yes'): print('input suceess') else: print('input error') |
‘...’或“...” | 表示一个字符串 | |
\ | 转义字符。如\n表明回车 | |
r"..." | 字符串前加r表示忽略转义字符 | print(r"c:\name") |
"""...""" 或'''...''' |
三引号表示一个段落 | ''' produces the following output ''' |
+ | 字符串链接符。 | |
相邻字符串 | 多个相邻字符串会自动链接。可是这种方式只支持吃字符串变量和表达式要使用+ | print("I ""like ""python")输出I like python |
* | 字符串重复符 | print("python"*3)输出pythonpythonpython |
字符数组 | 字符串也是一个字符列表,咱们能够经过下标获取某个字符 | string = "Python" print(string[2]) # 输出 t # 从右面取值 print(string[-2]) # 输出 o # 取中间一部分(前包后不包) print(string[1:3]) # 输出 yt # 从头开始 print(string[:3]) # 输出 Pyt # 一直到结束 print(string[-3:]) # 输出 hon |
len() |
计算字符串长度 |
len( "Python")等于6 |
[... , ...] | 列表是用中括号括起,用逗号分割的一组数据。 一般状况列表中的数据类型都是一致的,可是不一致也是容许的。 |
[1, 2.4, '32131', [1, 2, 3]] |
列表索引 | 列表可使用[标号]进行索引。 | num = [4,10,13,14,23,26,10] # 从左取值 print(num[2]) # 输出 13 # 从右取值 print(num[-2]) # 输出 26 # 取中间一部分(前包后不包) print(num[1:3]) # 输出 [10, 13] # 从头开始 print(num[:3]) # 输出 [4, 10, 13] # 一直到结束 print(num[-3:]) # 输出 [23, 26, 10] |
+ | 列表连接符 | num = num + [66,88,99] print(num) # 输出 [4, 10, 13, 14, 23, 26, 10, 66, 88, 99] |
append(...) |
添加新内容 | num.append(101) print(num) # 输出 [4, 10, 13, 14, 23, 26, 10, 101] |
= | 赋值,能够经过赋值改变列表内容。 | letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] letters[2:5] = ['C', 'D', 'E'] print(letters) # 输出 ['a', 'b', 'C', 'D', 'E', 'f', 'g'] letters[2:5] = [] print(letters) # 输出 ['a', 'b', 'f', 'g'] letters[:] = [] print(letters) # 输出 [] |
len() |
计算列表长度 | |
列表副本 | 列表赋值时传递的是列表引用,如word1=word在word1作出变化时也会影响到word。 若是但愿复制一个副本可使用word1=word[:] |
word1 = word # 复制引用 word1 = word[:] # 复制副本 word1 = word[2:5] # 复制部分副本 |
{'a':1,'b':2} | 字典相似于java的map用于存储键值对 | |
缩进 | 标识代码模块至关于java的{},同一层 级的代码缩进数量必须一致。 | if 1==1: print("true") else: print("false") |
\ | Python语句中通常以新行做为语句的结束符,拼接多行语句时使用多行连接符。 | total = item_one + \ item_two + \ item_three |
# | 注释。python没有多行注释 | |
None | 空置,至关于java的null。 |
empty = None # 空置 number = 100 # 数字 string = "python" # 字符串 list = [1,3.14,"python"] # 列表 tuple = (1,3.14,"python") # 元组 dictionary = {'a':1,'b':3.14,'c':"python"} # 字典
a, b = 0, 1
a, b = b, a+b # 先计算 b 再计算 a+b 而后将b赋值给a将a+b赋值给b #至关于 temp_a = b temp_b = a+b a = temp_a b = temp_b
判断语句由if、elif、else组成
x = 0 if x == 0: print("X is equal to zero") elif x < 0: print("X is less than zero") elif x > 0: print("X is greater than zero") else: print("Unable to determine")
i = 0 while i<10: print(i, end=(',')) i+=1 else: print("End of the cycle") # 输出结果:0,1,2,3,4,5,6,7,8,9,End of the cycle
while的else表示,在循环条件结果为false时执行。
for常被用来遍历一个列表。(字符串也是一个字符列表)
# 循环输出列表 word = ["January","February","March","April","May","June","July","August","September","October","November","December"] for w in word: print(w,len(w),end=(',')) # 输出结果:January 7,February 8,March 5,April 5,May 3,June 4,July 4,August 6,September 9,October 7,November 8,December 8,
# 循环输出字符串 string = "Python" for s in string: print(s,end=(',')) # 输出结果:P,y,t,h,o,n,
# 循环指定次数 for i in range(10): print(i,end=(',')) # 输出结果:0,1,2,3,4,5,6,7,8,9,
range()函数用于生成不可变的数字序列(并非列表),一般用于循环for循环中的特定次数。
# else字句 for i in range(10): print(i, end=(',')) else: print("End of the cycle") # 输出结果:0,1,2,3,4,5,6,7,8,9,End of the cycle
for循环的else表明循环遍历完成时执行此内容。
# 跳出循环 for i in range(10): if i==5: break print(i,end=(',')) # 输出结果:0,1,2,3,4,
# 结束本次循环 for i in range(10): if i == 5: continue print(i, end=(',')) # 输出结果:0,1,2,3,4,6,7,8,9,
pass语句什么也不作,用于占位。
使用def关键字定义函数
def output(s): ''' 将对象输出到控制台 :param s: 输出对象 :return: 无返回值 ''' print(s) output("I like python")
函数的参数传递与java类似,传递的是对象的引用。
函数的第一句三引号部分为文档字符串(DocStrings),添加文档字符串是一个良好的习惯。文档字符串至关于java的方法注释,方便往后维护。
# 重命名函数 op = output op("I like python")
# 函数的返回值 def sum(a,b): ''' 求两个数的和 :param a: 数a :param b: 数b :return: a+b的和 ''' return a+b print(sum(666,888))
return返回函数的返回值。没有return的函数返回None。
定义参数时能够设置默认值,无默认值的参数调用时是必输的,有默认值的参数调用时能够不输入使用默认值。
# 参数默认值 def sum(a=1,b=2): ''' 求两个数的和 :param a: 数a :param b: 数b :return: a+b的和 ''' return a+b print(sum(666,888)) # 结果:1554 print(sum(666)) # 结果:668 print(sum()) # 结果:3
默认值是在定义时进行赋值的,因此要清楚赋值时赋值的是数据仍是引用,这样才能准确的判断参数以后的变化状况。
函数能够经过 关键字参数 的形式来调用,形如 keyword = value
# 关键字参数 def sum(a,b): ''' 求两个数的和 :param a: 数a :param b: 数b :return: a+b的和 ''' return a+b print(sum(a=666,b=888)) # 结果:1554
这种方式在通常状况下是没有必要的,可是若是使用可变参数时就能体现出它的做用了
# 以关键字参数形式传递可变参数 def output(a,**keywords): print("a is " + a ,end=',') for keyword in keywords: print(keyword + " is " + keywords[keyword],end=',') output("one",b="two",c="three",d="four") # 结果:a is one,b is two,c is three,d is four,
使用可变参数可接收一组未定义的参数
# 可变参数列表 def output(a,*args): print(a ,end=',') for arg in args: print(arg,end=',') output("one","two","three","four") # 结果:one,two,three,four,
参数也可使用列表或字典的方式传入
# 经过列表传递入参 def output(a,b): print("a is " + a ,end=',') print("b is " + b) args=['one','two'] output(*args) # 结果:a is one,b is two
# 经过字典传递入参 def output(a,b): print("a is " + a ,end=',') print("b is " + b) dic={'a':'three','b':'four'} output(**dic) # 结果:a is three,b is four
用于快速生成一个匿名函数
# 使用匿名函数进行数学计算 sum = lambda a,b:a+b print(sum(5,6)) # 结果:11
# 做为返回值返回匿名函数 def make_incrementor(n): return lambda x: x + n f = make_incrementor(42) print(f(5)) # 结果:47
函数的第一句三引号部分为文档字符串(DocStrings),添加文档字符串是一个良好的习惯。文档字符串至关于java的方法注释,方便往后维护。
文档字符串能够经过__doc__默认变量取出。
def output(s): ''' 将对象输出到控制台 :param s: 输出对象 :return: 无返回值 ''' print(s) output(output.__doc__) # 结果: # 将对象输出到控制台 # :param s: 输出对象 # :return: 无返回值
'__main__'
是顶级代码执行的名称。当从单独脚本或标准输入执行代码时,模块的__name__ 值将被设置为__main__。
因此咱们能够经过判断__name__ == "__main__"来断定是否为独立脚本执行,若是是的话就执行main函数。
if __name__ == "__main__": # execute only if run as a script main()
这里执行的并不是必须是main()函数,任意函数均可执行。
编码风格不是语言自己强制限制的,可是一个良好的编码习惯能让代码的阅读和修改都变得比较轻松。
a = f(1, 2) + g(3, 4
固然python有不少自动检查代码的工具,使用这些工具可以帮助咱们发现不符合规范的地方,培养良好的编码习惯。
例如Pylint(推荐)、Pychecker、pyflakes、flake八、mypy等