面授课程
手把手教学,大型商业项目贯穿始终,提前积累工作经验。
了解详情中公IT优就业IT研究院下辖互联网营销教研室、UI交互设计教研室、Web前端教研室、PHP开发教研室、Java开发教研室、大数据教研室、Unity教研室、人工智能教研室、VR/AR教研室等10多所教研室,拥有国内IT行业教学研发质量高、师资学历高的专职教师团队...
跟Java语言一样,python语言也有类的概念,直接使用class关键字定义python类。在python类,定义类的方法。然后直接使用类的初始化调用自身,获取相应的属性。以下是小编为你整理的python专业学习方法
第一步,双击打开eclipse开发工具,新建python文件,添加编码格式,新建类User
第二步,在类中定义一个变量userNum,并赋值为0,注意排列位置
第三步,定义函数__init__,有五个参数,self、name、age、sex和addr
第四步,再定义一个函数showUser,打印出User类对应的属性值,
第五步,在类的下面定义一个对象变量user,然后调用类User,传入属性值
第六步,接着调用User类中的方法showUser,然后运行这个文件,打印出属性值
建立变量str在打印输出的时候可以截取其中的部分文本,例如print(str[0:-1]),python中的文本索引是从0开始的,-1则是末尾的开始位置,可以输入print(str[-1])查看最后一个文字
如果需要重复输出文本可以使用print(str*数字)这种格式,数字表示文本重复的次数 ,比如print(str*2)
“+”既是运算符号,也是文本连接符号,连接字符串的时候使用就好了
如print(str+“ma ma hong”)
转移字符使用"\",我们重用的换行就是“\n”
print("my\n name")
如果不需要转义,就在字符串前面加“r”即 print(r"my\n name")
需要注意的是python里面的字符串不能更改,如将str的首字母改为L
str[0]=L python会报错
此外,还有就是格式化字符串,和C是一致的,搞不清是什么类型的时候用%s就好了
如“python %s”% “language”
函数定义
def 函数名(参数名):
函数体
说明:
如果函数有返回体,就使用return 返回值;
b如果函数没有返回体,就使用return None或者return;
如果函数有多个返回值,就使用return x1,x2...。
这里主要讲述自定义函数,系统函数请参照https://docs.python.org/2/library/functions.html#abs
3例子:
一元二次方程的定义是:ax² + bx + c = 0
请编写一个函数,返回一元二次方程的两个解。
注意:Python的math包提供了sqrt()函数用于计算平方根。
import math
def equation(a,b,c):
temp=b*b-4*a*c
if temp<0:
return
x1=(-b+math.sqrt(temp))/(2*a)
x2=(-b-math.sqrt(temp))/(2*a)
return x1,x2
print equation(2,3,0)
默认参数:主要是方便调用,默认参数一定在必须参数后面。
例子:
请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'
def greet(n='world'):
print 'hello,',n
可变参数:
定义:def fn(*args):
print args
python 解释器 会把传入的一组参数组装成一个tuple传递给可变参数。因此在函数内部,直接把变量args看成一个tuple 就好了
例子:请编写接受可变参数的 average() 函数。
import math
def avg(*args):
if len(args)==0:
return 0.0
else:
return sum(args)/len(args)
print avg(1,2,3)
切片
1)切片:主要用于对集合取指定范围的元素。
2)形式 L[first-index:last-index,length]。
说明:
从索引为first-index的元素取到索引为last-index的元素,其中不包含last-index元素;
first-index 为空,则默认从0开始,如果两个参数都为空,则表示从头到尾获取元素;
length 表示每隔几个元素获取元素;
默认length为1 ,不隔元素获取;若length为2,则每隔一个元素;
若first-index为负数,则是倒序切片,倒序切片从-1开始;
f若 fist-index为正数,first-index从0开始;
例子1:
range()函数可以创建一个数列:
range(1, 101)
[1, 2, 3, ..., 100]
请利用切片,取出:
1. 前10个数;
2. 3的倍数;
3. 不大于50的5的倍数。
print L[0:10],'\n',L[2::3],'\n',L[4:50:5]
例子2:
利用倒序切片对 1 - 100 的数列取出:
* 最后10个数;
print L[-10:]
字符串切片:我们可以把字符串看成一组list,所以也可以对字符串进行切片。
例子:
字符串有个方法 upper() 可以把字符变成大写字母:
'abc'.upper()
'ABC'
但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。
import math
def upperFirstChar(str):
return str[0:1].upper()+str[1:]
集合的与操作
我们可以看到集合输出的效果会有一个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))
需要单独说明的是求的是自己的和他人的不同,不是两者一起的不同,具体看例子输出效果:
集合中我们可以直接更新一个集合的结果在内存中:
a_a.difference_update(b_b) #求出结果并更新print a_a
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 如果要用正常的循环也是可以完成的就是了,这样的操作更加简单便捷。
int类型
python的int表示整数,包括(正整数和负整数),数据的范围是内存的范围,即是内存越大,可以表示的数越大
PS:java的int是字节限制,最大值是2147483647
str类型
str是字符串,用单引号或者双引号表示,Python使用的是Unicode编码,使用的符号不局限于ASCII字符
END
类型定义
类型的定义
python不像java那样强制声明类型,即是,在定义数据的时候,a=123,a='字符',这些都是可以的,不限制类型
即先a=123,再一次a='字符串',那么a就等于‘字符串’了(这在java是不行的)
注意:因为没有强制类型,所以变量名要取的有意义,防止赋值错类型
int不可以直接与字符串相加(java可以,默认会把int转为字符串)
比如a=123,b=‘字符串’
把a与b相加,那么就会出错
END
类型转换
虽然没有java那样其他类型与字符串相加,会默认把其他字符串转换为字符串
不过python的转字符串也很方便,str()
如:a=123,str(a),就是把a转为字符串
反过来也一样,str转int,就是int()
如:s=‘123’,int(s)