中公IT优就业阶段学习与实战演练紧密结合,致力于让学员学习实战技能,真正做到学以致用,在理论学习完成后,设置大型项目实训阶段,让学员真正接触、切身体会岗位所需技能,直接加入名企项目研发团队,亲自动手参与项目开发、运作过程...
随着Python的进一步发展,越来越多的现成的Python的机器学习的算法已经发布出来。为了可以更好地运用这些机器学习的算法,我们有必要对Python有个初步的了解。以下是小编为你整理的怎么去学习python
Python不同层级的语句之间间隔四个空格缩进, indentation。Python有比较严格的语法结构,需要不同层级的代码之间相差四个空格,不然就不能编译通过。
Python中输出到console是用print,然后接收键盘输入是用raw_input(),示例name = raw_input(What's your name?);
写完程序之后,要用不同的输入来测试写的程序是否正确。
变量Variables,用于存储后续可能用到的数据
数据类型Data Type,包含数值和布尔值
注释,当行注释用#,多行注释"""开始"""结束,如下图所示
基本数学运算符,+,-,*,/
指数运算符,**
取余运算符,%
如何选择版本
Python 2.x 和 3.x 通常已经内置在现代 Linux 发行版中,你可以立刻使用它。你可以终端模拟器中输入 "python" 或 "python3"来进入 Python shell, 并输入 "quit()" 退出。
如果你希望在键入 "python" 时使用 Python 3.x 而不是 2.x,你可以像下面一样更改对应的符号链接:
顺便一提,有一点需要注意:尽管 Python 2.x 仍旧被使用,但它并不会被积极维护。因此,你可能要考虑像上面指示的那样来切换到 3.x。2.x 和 3.x 的语法有一些不同,我们会在这个系列文章中使用后者。
另一个在 Linux 中使用 Python 的方法是通过 IDLE (Python 集成开发环境),这是一个为编写 Python 代码而生的图形用户界面。在安装它之前,你最好查看一下适用于你的 Linux 发行版的 IDLE 可用版本。
然后,你可以像下面一样安装它:
$ sudo aptitude install idle-python3.2
安装成功后,你会看到 IDLE 的运行画面。它很像 Python shell,但是你可以用它做更多 Python shell 做不了的事。
集合的与操作
我们可以看到集合输出的效果会有一个set表示。
aaa = [1,2,3]bbb = [3,4,5,6]a_a = set(aaa)b_b = set(bbb)
集合中并集的表示:
k = a_a | b_b
print k
使用一个| 线表示 ,求出2个数的并集。
vip = a_a.union(b_b) #并集print vip
集合中交集的表示 使用 ^ 表示求交集
k = a_a ^ b_b #交集合
print (a_a.intersection(b_b)) # 求交!!!!
集合中求出不同项目的结果
print (a_a.difference(b_b))
需要单独说明的是求的是自己的和他人的不同,不是两者一起的不同
常用的元素
list (表)
l =[1,2,5,6] # 序列元素的下标从0开始: # tuple元素不可赋值 # 基本样式[下限:上限:步长] print(l[1]) # 2 print(l[0:3:2]) # [1, 5] print (l) #[1, 2, 5, 6] # list元素是可以改变的 l[1]=3 print(l) #[1, 3, 5, 6] #insert在list指定位置插入项目,如在list第一个位置插入2 l.insert(1,2) print (l) #[1, 2, 3, 5, 6] # append在list末尾添加一个项目 l.append(7) print (l) #[1, 2, 3, 5, 6, 7] # pop移除给定位置的项目 l.pop(3) print (l) #[1, 2, 3, 6, 7] # pop()移除最后的项目 l.pop() print (l) #[1, 2, 3, 6] # 删除指定的项目,不是项目位置 l.remove(2) print (l) #[1, 3, 6] # 升序排序 l.sort(reverse=True) print (l) #[6, 3, 1] # 降序排序 l.sort(reverse=False) print (l) #[1, 3, 6] # 项目前后顺序反过来 l.reverse() print(l) #[6, 3, 1]
tuple (表)
t1=() # 1个元素的tuple定义时必须加一个逗号, print (t1) # 输出() t2=(1,) print (t2) # 输出(1,) t3=(1,3,5,6) print (t3) # 输出(1, 3, 5, 6) # 计算元组元素个数 print(len(t3)) # 输出 4 # 序列元素的下标从0开始: # tuple元素不可赋值 # 基本样式[下限:上限:步长] print(t3[2:]) # 从下标2开始到最后 输出(5, 6) print(t3[0:3:2]) # 从下标0开始到下标3(即下标0和下标2),步长为2 输出(1, 5) # 返回元组中元素最大值 print(max(t3)) # 输出 6 # 返回元组中元素最小值 print(min(t3)) # 输出 1 # tuple是不可变的,但tuple里的list可变 t4=(1,2,3,[4,5]) t4[3][0]=7 t4[3][1]=8 print(t4) # 输出(1, 2, 3, [7, 8]) # tuple不可变但可以增加新的部分 t1=t2+t3 print (t1) # 输出(1, 1, 3, 5, 6) # 将列表转换为元组 l=[1,2,3] print(tuple(l))# 输出 (1, 2, 3)
Python是一种功能很强大的语言,对于零基础学习Python还是有难度的,但只要学习方法对,入门还是很快哒。下面介绍几种学习Python的方法。以下是小编为你整理的如何入门学习python
首先是书籍,通过书籍学习,虽然速度会有些慢,但知识具体,可以掌握很多细节,一旦入门后,后面进步就很快了,下面介绍给大家一本书,是以前我学习Python时用的书,感觉还挺不错哒。
然后就是借助网络学习,网上有很多视频课程,而且有很多是免费哒,网络视频比较直观,入门快。给大家推荐一个视频,网易云课堂里有个零基础入门学习python的视频,是免费的,我之前也看过,挺不错哒
还有就是加一些qq群或是论坛,里面的知识虽然不全面,但对于知识的扩宽还是很有帮助哒。
最后说说我的学习经验,书籍学习的方法比较扎实,网络视频学习的方法入门比较快,论坛可以作为知识的补充渠道,当然,如果想学精,唯有多多实践一条途径。
优点是什么
Python世界最棒的地方之一,就是大量的第三方程序包。同样,管理这些包也非常容易。按照惯例,会在 requirements.txt 文件中列出项目所需要的包。每个包占一行,通常还包含版本号。这里有一个例子
Python 程序包有一个缺陷是,它们默认会进行全局安装。我们将要使用一个工具,使我们每个项目都有一个独立的环境,这个工具叫virtualenv。我们同样要安装一个更高级的包管理工具,叫做pip,他可以和virtualenv配合工作。
首先,我们需要安装pip。大多数python安装程序已经内置了easy_install(python默认的包管理工具),所以我们就使用easy_install pip来安装pip。这应该是你最后一次使用easy_install 了。如果你并没有安装easy_install ,在linux系统中,貌似从python-setuptools 包中可以获得。
如果你使用的Python版本高于等于3.3, 那么Virtualenv 已经是标准库的一部分了,所以没有必要再去安装它了。
下一步,你希望安装virtualenv和virtualenvwrapper。Virtualenv使你能够为每个项目创造一个独立的环境。尤其是当你的不同项目使用不同版本的包时,这一点特别有用。Virtualenv wrapper 提供了一些不错的脚本,可以让一些事情变得容易。
当virtualenvwrapper安装后,它会把virtualenv列为依赖包,所以会自动安装。
打开一个新的shell,输入mkvirtualenv test 。如果你打开另外一个shell,则你就不在这个virtualenv中了,你可以通过workon test 来启动。如果你的工作完成了,可以使用deactivate 来停用。
循环语句的应用
举个例子如果我们要生产一个list [1,2,3,4,5,6,7,8,9,10] 我们可以使用range(1,11)来表示,如果直接写range(11) 是从0开始,我们可以演示一下。print range(11)print range(1,11)print range(8,11)
然后我们想一下 如果要表示[1*1,2*2,3*3,4*4.....100*100]要怎么做呢?好肯定是要利用到循环的概念,正常的写法是这样的:
a = [] #定义一个空的列表for x in range(1,101): #假设X在从1开始循环到100 a.append(x * x) # 进行一次添加操作 x* xprint a
作为一个程序员,就要是使用最短的代码最高效的完成程序表达的功能,如果使用循环写的话会感觉比较繁琐,特别是逻辑能力不太强的朋友,我们可以使用一行语句代替循环,我们测试看看
print [x * x for x in range(1,101)]
当然除了计算之外,我们还可以做一些比较特殊的字符串操作,比如:
print [m + n for m in 'ABC' for n in 'XYZ']
我们可以看到我们把A B C 都加了一遍XYZ 如果要用正常的循环也是可以完成的就是了,这样的操作更加简单便捷。
如何输出函数
打开python编辑器,输出主要用到的函数是print,和c语言的printf不同.输出是屏幕打印一行话需要再函数后面的括号中,输入你需要打印的字符串,用'XXXX'形式输出。符号都需要用英文符号。点击CTRL+s,然后按F5运行代码,屏幕上就打印出这一句话。引号是不输出的。汉字同样也可以输出。
不妨试一下printf,按照同样的格式输出,系统会提示printf没有定义,说明python中的函数和C语言中的函数还是有差别的。print函数中括号内部使用双引号也是可以正常打印出字符串的。
print也可以打印多个字符串,中间如果用逗号隔开,系统默认使用空格输出。与c语言相同的是python同样可以使用\n转移序列来实现换行输出。如果字符串中有很多的换行,可以使用另外一种方法达到换行效果。使用'''开头,最后'''结束。注意输出的缩进和格式。
如果需要输出一些特殊符号或者特殊格式,大家可以自己设计,输出一行好看的标题可以试着自己写一下代码。输出一行*号和文字,输出一行*号一行文字再加上一行*号,输出一个金字塔格式的符号。自己也可以设计其他漂亮的图案输出。
同样也可以直接输出数字,以及计算结果,也可以输出等式,输出一句话描述计算结果,字符串的输出和后面直接输出的数字中间要用逗号隔开。如果说字符串中包含有'号,需要用到转义字符\,如图所示,如果直接使用单引号输入I'm betty系统程序是识别不出来的,可以使用双引号再输入I'm betty,或者使用转义字符\.如果一句话中需要转义的字符太多,可以直接使用r''来输出。''内部的字符默认不转义。