Python小白学习

我大学学习的是java,对于学习Python语言非常陌生;一直会将java的语法和Python的语法混淆;我想出了一个方法就是将python与java对比学习,一者了解了java的语法,二者也更能很好的去学习python。

1.输出语句

(1)java输出语句:System.out.println(0xff==255);(需要嵌套在class类中的main方法才可以执行)

Python输出语句:print(0xff==255);(可以直接print,可直接执行);

(2)输出多个字符串

java格式:System.out.println("a "+"b "+"c");(通过+号来拼接多个字符串,且需要用双引号引用每个字符,如若想要输出空格,则需要在引号内输入空格)——单引号对应的是字符的ask码值。

            

     eg:System.out.println("100+200="+(100+200));

Python格式:print('a','b','c');(字符串之间用逗号分隔,输出时遇到逗号会输出一个空格;另外也可以用+来拼接)

              

       print('a'+'b'+'c');

               eg:print('100+200=',100+200);

2.注释

java注释://单行注释;/***/多行注释

Python注释以“#”开头;

3.Python中的布尔类型,python中把0,空字符,None看做为False,把数值和非空字符看做为True

短路计算:

a and b ,如果a为false,则不用判断b,结果为false;如果a为True,则结果取决于b,并返回b;

a or b,如果a为True,则不用判断b,记过为True;如果a为false,则结果取决于b,并返回b;

4.创建list,

 python内置的一种数据类型是列表:list,list是一种有序的集合,可以随时增加或删除其中的元素(list其实就是数学意义上的集合)

构造list非常简单,直接用[]把list元素括起来,就是一个list对象。通常我们会将list复制给一个变量,这样就可以引用该变量了;另外python是动态语言,所以list集合中的数据可以是各种类型的集合,一个元素也没有的list就是空的list

         java中用数组来表示,表达如下:

    

 char L[]={'a','b','v'};
	    System.out.println(L);
empy_list=[]

 python中表达   

L = ['Adam', 95.5,'Lisa', 85, 'Bart', 59]
        print L

5.Python按照索引查出list(正序,list是一个有序的集合)

需要注意的是,索引是从0开始访问的,第二个是1,依次类推

eg:
L=['Admin','taxi','Mill']
print L[0]
注意越界的问题
6.Python按照倒叙访问list

与上述相反最后一个下标为-1,倒数第二个为-2,依次类推

eg:
L=['Admin','taxi','Mill']
print L[-1]
print L[-2]

7.Python从list中删除元素

(1).pop()方法,总是从list中最后一个删除并且还会返回这个元素,并将这个元素打印出来;

(2).如果想要删除指定的元素,必须定位其索引,pop(2),并返回这个元素,并将这个元素打印出来;

8.Python中替换元素

对list中的某一个索引赋值,就可以用新的元素直接替换旧的元素,list集合元素个数不变

9.python之创建tuple

tuple是一个“元组”,tuple一旦被创建就不能被修改,所以tuple没有append(),insert(),pop()方法。另外tuple与list创建的不同之处就是使用了“()”替代了“[]”;tuple的索引与list一样,如t[1],t[-1]。

t = (0,1,2,3,4,5,6,7,8,9)
print t
运行结果
(0,1,2,3,4,5,6,7,8,9)
10.tuple之创建单个元素

tuple和list是一样的,可以创建0个,1个或者多个元素;包含多个元素的创建如上,以下介绍创建0个元素和1个元素

tuple创建0个元素,也就是空tuple,创建如下

t=();
print t
运行结果
()
创建1个元素,需要注意,需要在元素后面自动添加逗号,由于()既可以表示tuple,又可以表示运算的优先级,所以(1)打印出结果为整数1,而非元组,如果要表示tuple,则为如下表示;

t=(1,);
print t;
运行结果如下
(1,)
如果创建多个元素,则不必在后面自动添加逗号

t=(1,2,3);
print t;
运行结果如下
(1,2,3)

11.python之“可变”的tuple

之前我们说tuple一旦被创建就不能被修改,下面我们来看一下变化的tuple

t = ('a', 'b', ['A', 'B'])
注意到tuple包含3个元素,a,b和一个list['A','B'],tuple元素不可变,但是list元素是可以变化的,这就是“可变”,tuple中的不变指的是“指向不变”,比如t[0]=a,t[1]=b,t[2]=['',''],至于list的元素变化,不影响tuple的指向。

12.python语句-if

age = 20
if age >= 18:
    print 'your age is', age
    print 'adult'
print 'END'
注意:python代码的缩进规则,具有相同缩进的被视为代码块,上述3,4行为同一代码块,如果if语句为True,则执行以下代码块;
缩进请严格按照缩进的规则,4个空格,不要使用Tab,更不要Tab和空格混合使用;

if语句后接表达式用:表示代码块的开始。

13.if-else

根据表达式的值判断是True还是False,去分别执行if和else代码块;具体语法如下;

if 表达式1:
   代码块1
   代码块2
   ........
else:
   代码块3
   代码块4
   .......
14.if-elif-else

特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了
15.for循环

L = ['Adam', 'Lisa', 'Bart']
for name in L:
    print name
注意:name是在for循环中定义的,意思是取出list中的元素,并把元素赋值给name,并打印出来。

16.while循环

和for循环不同的是while循环,while循环不会迭代list和tuple,而是根据表达式判断是否结束循环

sum=0
x=1
while x<=100:
    sum=x+sum
    x=x+2
print sum
while 循环每次判断x<=100,如果正确则执行代码块,x=x+2,x在不断增加,知道不满足循环条件,则退出循环

17.break退出循环

sum = 0
x = 1
n = 1
while True:
    sum = sum + x
    x = x * 2
    n = n + 1
    if n > 20:
        break
print sum

注意:while True是一个死循环,但是在循环体内还判断了n>20用来跳出循环

18.python中的dict使用

大家都知道,list和tuple是有序的集合,例如班级里的同学:

['Adam', 'Lisa', 'Bart']
例如班级分数:

[95, 85, 59]
如果我们想要把name和score一一对应出该怎么办,那么我们就可以使用dict,dict语法如下

d={
    key:value,
    key:value,
    key:value
}
注意:key和value一一对应,最后一个key:value可以不写逗号

len(d)可以统计dict集合的大小

19.python之访问dict

访问dict有两种方式

(1)方法一:使用d[key],指定key值就可以取到对应的value值;

(2)方法二:使用d.get(key)

20.dict的特点

特点一:查找速度快,占用内存大,浪费内容,key值不能重复

特点二:dict存储的dict-value是无序的

特点三:value值是不可变的,类型可以为“字符串”,整数,浮点型,切记不可存储可变数

21.dict之更新

dict是可变的,如果想要更新dict可以直接赋值,如dict['paule']=67,则就添加到dict集合中了;如果key值存在,那么则将之前的value覆盖
22.dict遍历

dict遍历同list一样都可以通过for来进行遍历

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for key in d:
    print key+":"+str(d.get(key))
注意:此处key为str类型,d.get(key)类型为int,int和str不能拼接,需要将int转化为str

22.python之set

创建set的方式是调用set()并传入一个list

set(['A','B','C'])
set()内部是无序的;如果list中包含一个重复的元素,set会自动去除重复的元素

23.访问set

由于set是无序的集合,则不能通过索引进行访问,需要通过in操作符

如果要判断元素bart是否存在在set中,则应该表达为

s=set(['bart','bark','admin'])
'bart' in s----返回结果为Ture
注意:set()不能区分元素的大小写

24.set特点

特点一:无序

特点二:set中不存储value的值,只存储key值,则查询速度快

特点三:元素不可变

set的应用,如果用户输入一天,判断他是星期几,则就可以用set存储一周,eg:

weekdays = set(['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'])
x = '???' # 用户输入的字符串
if x in weekdays:
    print 'input ok'
else:
    print 'input error'
25.遍历set

同样set也是一个集合,遍历也用for进行遍历,只是打印出来的元素是无序的

26.更新set

由于set存储一组不重复的元素,因此更新set主要做两件事:

一是把新的元素添加到set中,二是把已有的元素删除

增加元素:add(),删除元素:remove()

        如果元素存在,运行不会报错,只是不会添加进去;删除不存在的元素,则会报错

27.函数

函数文档:https://docs.python.org/2/library/functions.html

圆的计算面积:area_of_circle(x)

绝对值:abs (x)

比较 cmp(x, y),如果xy,则返回1

  int(),把其他数据类型转化成整

str()把其他类型转化成字符类型

28.python之编写函数

python中定义一个函数用def语句,依次写出函数名、括号、参数、冒号,缩进体中写函数,函数的返回值用return语句返回。

我们以自定义一个求绝对值的my_abs函数为例:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x
请注意:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过循环和判断可以实现非常复杂的逻辑。

如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。

return None 可以简写为return。
任务:

请定义一个square_of_sum函数,他接受一个list,返回list中每个元素平方的和
方法一:
def square_of_sum(L):
    sum=0
    for x in L:
       sum+=x*x
    return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

方法二:
def square_of_sum(L):
     return (sum (x*x for x in L))
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

注意:
sum(iterable[, start])

iterable--可迭代对象,如列表。

start--指定相加的参数,如果没有设置这个值,默认为为0

29.python之函数返回多值













你可能感兴趣的:(Python小白学习)