学习python语言前的指引与总结

一、python语言的学习流程:

1、基础知识:

  学习每一种新的编程语言都是从最基本的开始,对于python而言也是需要先学习其基础知识。

  python的基础知识包括:变量和数据类型,List和Tuple,条件判断和循环,Dict和Set, 函数,切片,迭代和列表生成式。

  注意:学习基础知识切莫着急,一定要打好基础,这样才会更好的应用python

2、进阶知识:

  学完掌握基础知识之后,就要学习进阶知识了。

  python的进阶知识包括:函数式编程,模块,面向对象编程基础,类的继承和定制类

3、python装饰器:

  装饰器是很重要的一个知识点。

  关于装饰器需要涉及到函数作用域.闭包的使用和装饰器的概念及使用

4、高阶知识:

  文件处理,错误和异常和正则表达式

5、提升阶段:

  数据库操作,Django框架和爬虫技术

二、Python初学的17个学习小技巧

1、交换变量

有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。例:

# 输入

a = 5

b = 10

#创建临时变量

temp = a

a = b

b = temp

print(a)

print(b)

但在Python中,其实我们有一种更简洁的写法:

 

 

2、if 语句在行内

print "Hello" if True else "World"

>>> Hello

3、连接

下面的最后一种方式在绑定两个不同类型的对象时显得很酷。

nfc = ["Packers", "49ers"]

afc = ["Ravens", "Patriots"]

print nfc + afc

>>> [''Packers'', ''49ers'', ''Ravens'', ''Patriots'']

print str(1) + " world"

>>> 1 world

print `1` + " world"

>>> 1 world

print 1, "world"

>>> 1 world

print nfc, 1

>>> [''Packers'', ''49ers''] 1

4、计算技巧

#向下取整

print 5.0//2

>>> 2

# 2的5次方

print 2**5

>> 32

注意浮点数的除法

print .3/.1

>>> 2.9999999999999996

print .3//.1

>>> 2.0

5、数值比较

x = 2

if 3 > x > 1:

print x

>>> 2

if 1 < x > 0:

print x

>>> 2

6、两个列表同时迭代

nfc = ["Packers", "49ers"]

afc = ["Ravens", "Patriots"]

for teama, teamb in zip(nfc, afc):

print teama + " vs. " + teamb

>>> Packers vs. Ravens

>>> 49ers vs. Patriots

7、带索引的列表迭代

teams = ["Packers", "49ers", "Ravens", "Patriots"]

for index, team in enumerate(teams):

print index, team

>>> 0 Packers

>>> 1 49ers

>>> 2 Ravens

>>> 3 Patriots

8、列表推导

已知一个列表,刷选出偶数列表方法:

numbers = [1,2,3,4,5,6]

even = []

for number in numbers:

if number%2 == 0:

even.append(number)

9、用下面的代替

numbers = [1,2,3,4,5,6]

even = [number for number in numbers if number%2 == 0]

10、字典推导

teams = ["Packers", "49ers", "Ravens", "Patriots"]

print {key: value for value, key in enumerate(teams)}

>>> {''49ers'': 1, ''Ravens'': 2, ''Patriots'': 3, ''Packers'': 0}

11、初始化列表的值

items = [0]*3

print items

>>> [0,0,0]

12、将列表转换成字符串

teams = ["Packers", "49ers", "Ravens", "Patriots"]

print ", ".join(teams)

>>> ''Packers, 49ers, Ravens, Patriots''

13、从字典中获取元素

不要用下列的方式

data = {''user'': 1, ''name'': ''Max'', ''three'': 4}

try:

is_admin = data[''admin'']

except KeyError:

is_admin = False

替换为

data = {''user'': 1, ''name'': ''Max'', ''three'': 4}

is_admin = data.get(''admin'', False)

14、获取子列表

x = [1,2,3,4,5,6]

#前3个

print x[:3]

>>> [1,2,3]

#中间4个

print x[1:5]

>>> [2,3,4,5]

#最后3个

print x[-3:]

>>> [4,5,6]

#奇数项

print x[::2]

>>> [1,3,5]

#偶数项

print x[1::2]

>>> [2,4,6]

15、60个字符解决FizzBuzz

前段时间Jeff Atwood 推广了一个简单的编程练习叫FizzBuzz,问题引用如下:

写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。

这里有一个简短的方法解决这个问题:

for x in range(101):print"fizz"[x%34::]+"buzz"[x%54::]or x

16、集合

用到Counter库

from collections import Counter

print Counter("hello")

>>> Counter({''l'': 2, ''h'': 1, ''e'': 1, ''o'': 1})

17、迭代工具

和collections库一样,还有一个库叫itertools

from itertools import combinations

teams = ["Packers", "49ers", "Ravens", "Patriots"]

for game in combinations(teams, 2):

print game

>>> (''Packers'', ''49ers'')

>>> (''Packers'', ''Ravens'')

>>> (''Packers'', ''Patriots'')

>>> (''49ers'', ''Ravens'')

>>> (''49ers'', ''Patriots'')

>>> (''Ravens'', ''Patriots'')

在python中,True和False是全局变量,因此:

False = True

if False:

print "Hello"

else:

print "World"

>>> Hello

三、实用的基础学习:

如果要在python中写中文,则要在xx.py的最前面声明

1
#coding:utf-8

1、基础语法:变量,字符串,函数,逻辑判断,循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
varline = 2 ;
print (varline);
#打印字符串
print ( "hello Python" );
print ( "你好,Python" );
#整型和字符串的转化
num1 = 100 ;
num2 = "100" ;
num3 = num1 + int (num2);
print (num3);
#字符串操作
str1 = "hello world" ;
str2 = str1 * 3 ;
string_count = len (str1);
print (string_count);
print (str2);
#字符串索引等价
print (str1[ 0 ]); print (str1[ - 11 ])  #===>h
print (str1[ 1 ]); print (str1[ - 10 ])  #===>e
print (str1[ 2 ]); print (str1[ - 9 ])   #===>l
#可以将字符串进行分割
print (str1[ 0 : 5 ]); print (str1[ 6 : 11 ]); #===> hello   world
print (str1[ - 4 :]);
#函数的定义和使用
def Print ():
   print ( "hello world" );
   return "sss" ;
sss = Print ();
print (sss);
def add(arg1 , arg2):
   return arg1 + arg2 ;
print (add( 1 , 2 ));
def getTempatuare(temp):
   return temp * 9 / 5 + 32 ;
print ( str (getTempatuare( 35 )) + "'F" );
#克转千克算法
def print_kg(g):
   return float (g / 1000 ) ;
print ( str (print_kg( 1 )) + "kg" );
#求直角三角形斜边的长度
def Line_print(arg1,arg2):
   return ((arg1 * arg1 + arg2 * arg2)) * * 0.5
print ( "The right triangle third side's length is " + str (Line_print( 3 , 4 )));
#str_rp = str1.replace(str1[:3],'*'*9);
#print(str_rp)
str11 = "{} a word she can get what she {} for."
str12 = "{preposition} a word she can get what she {verb} for"
str13 = "{0} a word she can get what she {1} for."
str111 = str11. format ( 'With' , 'came' );
str121 = str12. format (preposition = 'With' ,verb = 'came' )
str131 = str13. format ( 'With' , 'came' )
print (str111)
print (str121)
print (str131)
#单独创建
file1 = open ( 'F:\\'+' hello.txt ',' w')
file1.write( "Hello world" );
file1.close()
#使用函数创建
def text_create(name, msg):
   desktop_path = 'F:\\'
   full_path = desktop_path + name + '.txt'
   file = open (full_path, 'w' )
   file .write(msg)
   file .close()
   print ( 'Done' )
text_create( 'Yang' , 'hello world' ) # ????
#变量的比较
teststr1 = "Hello"
teststr2 = "World"
teststr3 = "Hello"
print (teststr1 in teststr2)
print (teststr1 is teststr3)
print ( bool (teststr1))
print ( bool (''))
print ( not teststr1)
print (teststr1 < teststr3 and teststr2 > teststr1)
print (teststr1 > teststr2 or teststr3 < teststr1)
#python逻辑判断学习
a = 1
b = 3
if a < b :
   a = 3
   b = 2
else :
   a = 2
   b = 3
print (a,b);
if a < b:
   a = 3
   b = 2
elif a > b:
   a = 2
   b = 3
else :
   a = 100
   b = 200
print (a,b)
for i in 1 , 2 , 3 , 4 , 5 , 6 :
   print (i)
for string_str in "hello" , "world" , "world" :
   print (string_str)
for str1111 in "Hello" :
   print (str1111)

2、Python数据结构:列表,元组,字典,集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#python列表===>
#特点:可以装python的所有类型,包括元组,列表,字典等
city = [ '广东' , '云南' , '广西' , '江西' , 'HongKong' , 'Shenzhen' , 123456 ]
for i in 0 , 1 , 2 , 3 , 4 , 5 , 6 :
   print (city[i])
city.insert( 1 , '北京' ) #列表的插入
for i in 0 , 1 , 2 , 3 , 4 , 5 , 6 :
   print (city[i])
city.remove( 'HongKong' ) #列表的删除
for i in 0 , 1 , 2 , 3 , 4 , 5 , 6 :
   print (city[i])
del city[ 0 #使用del方法删除列表中的元素
for i in 0 , 1 , 2 , 3 , 4 , 5 :
   print (city[i])
#python元组 ===>
#特点:不可修改,可被查看以及索引
num = ( '1' , '2' , '3' , '4' , '5' )
for i in 0 , 1 , 2 , 3 , 4 :
   print (num[i])
#python字典 ===>
#特点:键值成对存在,键不可重复,值可重复,键不可改,值可以变,可以为任何对象
Dog = { 'name' : 'sundy' , 'age' : 18 }
Dog.update({ 'tel' : 119 }) #往字典中添加键值对
print (Dog)
del Dog[ 'name' ] #往字典中删除键值对
print (Dog)
#集合
num_set = { 1 , 2 , 3 , 4 , 1 , 5 }
num_set.add( 6 ) #往集合里添加元素
print (num_set)
num_set.discard( 3 ) #从集合里删除元素
print (num_set)

3、Python语言面对对象:类的定义、使用以及类的继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#coding:utf-8
#定义一个类
class Anmial:
   var = 100
   Dog = [ 'runing' , 'eat' , 'sleep' ] #Dog是这个类的属性
   def function( self ):   #类里的方法
     if Anmial.var = = 10 :
       print (Anmial.var)
     else :
       print ( self + str (Anmial.Dog))
     return Anmial.var
#实例化类
Dog1 = Anmial()
print (Anmial.Dog)
#遍历类中的成员
for i in Anmial.Dog:
   print (i)
#创建实例属性===>类似创建一个与Dog一样的属性
Anmial.log = '会飞' , 'Hello' , 'Monkey'
print (Anmial.log)
Anmial.function( "属性:" )
class CocaCola():
   formula = [ 'caffeine' , 'suger' , 'water' , 'soda' ]
   def __init__( self ,local_name): #===>self相当于可以用来访问类中的成员或者创建属性
       self .logo_local = '橙汁'
       if local_name = = '可乐' :
         print (local_name)
       elif local_name = = '橙汁' :
         print (local_name)
       else :
         print ( '西瓜汁' )
   def drink( self ): #===>调用该方法的时候等效于 coke = CocaCola.drink(coke)
     print ( 'Energy!' )
coke = CocaCola( '可乐' )
coke1 = CocaCola( '橙汁' )
coke2 = CocaCola( '梨汁' )
#类的继承===>xuebi相当于CocaCoal的子类,CocaCoal相当于父类
class xuebi(CocaCola):
   formula = [ '白色' , '黄色' , '绿色' ]
xuebi = xuebi(CocaCola) #将CocaCola放在括号中,表面xuebi集成于CocalCola
print (xuebi.formula)
xuebi.drink()      #这样子类就可以调用父类的方法,继续延用了

四、总结:

Python是一种面向对象的解释型计算机程序的设计语言, Python具有丰富和强大的库。它常被称为胶水语言,能够把其他语言制作的各种模块很轻松地结合在一起。

相对于Java、C语言等,Python简单易学,更适合没有编程基础的小白入门。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。

Python的发展方向:数据分析、人工智能、web开发、测试、运维、web安全、游戏制作等等

猜你喜欢

转载自www.cnblogs.com/xiaobaicai-doudou/p/12623584.html
今日推荐