Python的学习的知识点

Python是一种高级动态,完全面向对象的语言,方便快捷。运行程序时,打个比方,计算圆周率类的高级算术题 只要import math math.sqrt()就可以轻松的计算出圆周率,Python就类似于一个超级计算机。

学习的知识点如下:

1、 整型int与浮点型float:可以进行基本的运算 如5*7=35 、7/2=3.5、7%3=1等 一些相关的数学函数类似于sin之类都在math模块中

a = [1,True,'ab']
a + ["Hello"]
a + [False]
a + [False]
print(len(a))
print(a[1:3])
print(a[0:3:2])
print(a[::-1])
a+a

2、复数计算与逻辑值:复数的与或非()相关的都可以很快捷的运算出结果 逻辑值如1>2为false、 bool(999)为true
3、 字符串的相关操作:+连接、 *复制、len长度、[start:end:step]用来提取一部分和以及一些相关高级操作 如下图(含例):

#字符串操作

a,b = 'abc','xyz'

print('a' in a)

print(ord(a[0]))

print(chr(65))

print(r'南工院')

print('\u4e2d\u6587')

 
      4、.列表与元组:列表可以增加、删除、替换和重排的作用和一些切片拆分的操作  如下图:

#List列表

a=[1,2,3,4]

b = a

b[1] = True

print(a)



#列表元组的基本操作

# +  *  len() [] in

a=[1,2,3]

a+[4]

a*2

len(a)

2 in a



#列表元素的高级操作

mylist=[1,2,3,4,5]

mylist[1:4]

mylist[2:5]

mylist[-3::-1]

mylist[::2]



#切片

s='abcdefg12345'

print(s[3:9])

print(s[5:])

print(s[-1:-6:-1])

print(s[:10:2])



#拆分

t='Mike and Tom'

print(t.split(' '))

5、range函数:是连续序列生成器

6、集合set:集合是不重复元素的无序组合、用set可以创建空集也可用set从其他序列转换生成集合 如下图

#set集合

#不重复元素的无序组合

a=[1,2,3,4,3,2,1]

b=set(a)

print(a)

print(b)

#upper/lower/swapcase修改大小写

print(t.upper())

print(t.lower())

print(t.swapcase())

7、字典dict:是通过key值来索引values元素 如下图

mydict={1:'Mon','linel':3332}

mydict['Mon']=3

'linel' in mydict

mydict.keys()

mydict.values()

mydict.items()


8、运算表达式,函数调用如 import math  /n  math.sqrt 和赋值 如a=3 是讲3赋值给a这个逻辑

9、if条件语句:包含elif或多条elif语句和一条else语句组成  while语句是条件循环语句 其中break语句是直接跳出循环  如下图

#条件if

#elif<逻辑条件>:可以多个elif

a=12

if a>10:

    print("Great!")

elif a>6:

    print("Middle!")

else:

    print("Low!")





#while循环

numbers=[12,37,5,42,8,3]

even = []

odd = []

while len(numbers) > 0:

    number = numbers.pop()

    if(number % 2 == 0):

        even.append(number)

    else:

        odd.append(number)

print('even:',even)

print('odd:',odd)

10、函数function :定义函数为def语句 调用函数为<函数名>(<参数>) 相关例子如下图:

def sum_list(alist): #定义一个带参数的函数

    sum_temp = 0

    for i in alist:

        sum_temp += i

    return sum_temp #函数返回值



print(sum_list)   #查看函数对象sum_List

my_list = [23,45,67,89,100] #调用函数,讲返回值赋值给my_sum

my_sum = sum_list(my_list)

print("sum of my List;%d" % (my_sum,))
def func(n):

    total = 1

    for i in range(1, n+1):

        total = total+1

    return total
def sum(n):

    total = 0

for i in range(1,n + 1):

    total += func(i)

    print(sum)

sum(3)

 

def func_test(key1,key2,key3=23):

    print("k1=%s,k2=%s,k3=%s" % (key1,key2,key3))

     

print("====fun_test")

func_test('v1','v2')

func_test('ab','cd',768)

func_test(key2='kk',key1='k')

11、参数 及位置参数

#参数的默认值

def thank_you(name='everyone'):

    print('You are doing good work ,%s!' %name)

thank_you()

thank_you('张三')

 

#位置参数

def desc_person(first_name,last_name,age):

    print("First name: %s" % first_name.title())

    print("Last name: %s" % last_name.title())

    print("Age: %d" % age)

desc_person('brain','kernighan',30)

desc_person(age=20,first_name='zhang',last_name='hai')

 

#混合位置和关键字参数

def desc_person(first_name,last_name,age=None,favorite_language=None):

    print("First name: %s" % first_name.title())

    print("Last name: %s" % last_name.title())

    if age:

        print("Age :%d" % age)

    if favorite_language:

        print("Favorite language : %s" % favorite_language)

desc_person('brian','kernighan',favorite_language='C')

desc_person('ken','thompson',age=22)
#接受任意数量的参数

def example_function(num_1,num_2,*nums):

    sum = num_1+num_2

     

    #Then add any other numbers that were sent.

    for num in nums:

        sum = sum + num

     

    # Print the results.

        print("The sum of your numbers is %d." % sum)

example_function(1,2)

example_function(1,2,3)

example_function(1,2,3,4)

example_function(1,2,3,4,5)

12、.map函数:需要对列表中每个元素做一个相同的处理,得到新列表

#map

def add(a,b):

    return a + b



lst = [1,2,3,4,5]

print(map (add,lst,lst))

print(list(map(add,lst,lst)))



#filter

def is_even(x):

    return x % 2 == 0

lst = [1,2,3,4,5]

print(list(filter(is_even,lst)))



#reduce函数对参数进行累积

from functools import reduce

def myadd(x , y):

    return x + y

lst = [1,2,3,4,5]

sum = reduce(myadd,lst)

print(sum)

13、 匿名函数lambda:可以返回一个匿名函数   表达式为:lambda<参数表>:<表达式>

#lambda函数(匿名函数)

answer = lambda x:x**2

print(answer(5))



#map(),filter() reduce()结合lambda表达式

print(list(map( lambda x: x+x, [y for y in range(10)])))

print(list(map( lambda a, b: a+b,[x for x in range(10)],[y for y in range(10)])))

print(list(filter( lambda a: a & 1 ==0 , [x for x in range(10)])))

print(reduce(lambda x,y : x*y , [a for a in range(1,10)]))

 14、time()函数

#获取当前的时间戳

time.time()

localtime = time.localtime(time.time())

print("本地时间为:",localtime)



#格式化时间

localtime = time.asctime(time.localtime(time.time()))

print("本地时间为:",localtime)

print(time.s)

      

15、面向对象

#力

class Force:

    def __init__(self, x, y):  #x,y方向分量

        self.fx, self.fy =x,y

    def show(self): #打印出力的值

        print("Force<%s,%s>" % (self.fx, self.fy))

    def add(self,force2): #与另一个力合成

        x = self.fx + force2.fx

        y = self.fy + force2.fy

        return Force(x,y)

     

#类定义中的特殊方法

def __str__(self):

    return 'Force<%r, %r>' % (self.x, self.y)



def __mul__(sel,n):

    x, y = self.x * n, self.y *n

    return Force(x,y)



def __add__(self, other):

    x ,y = self.x + other.x, self.y + other.y

    return Force(x, y)



def __eq__(self, other):

    return(self.x == other.x) and (self.y == other.y)



def __repr__(self):

    return 'Force({0.x!r},{0.y!r})'.format(self)



#生成一个力对象

f1 = Force(0,1)

f1.show()



#生成另一个力对象

f2 = Force(3,4)

#合成为新的力

f3 = f1.add(f2)

f3.show()

 

class Student:

    def __init__(self, name, grade):

        self.name, self.grade = name, grade

    #内置sort函数只引用<比较符来判断前后

    def __lt__(self, other):

        #成绩比other高的,排在他前面

        return self.grade > other.grade

    #Student的易读字符串表示

    def __str__(self):

        return "(%s,%d)" % (self.name, self.grade)

    #Student的正式字符串表示,我们让它跟易读表示相同

    __repr__=__str__

     

#构造一个Python list对象

s = list()



#添加到student对象到list中

s.append(Student("Jack",80))

s.append(Student("Jane",75))

s.append(Student("Smith",82))

s.append(Student("Cook",90))

s.append(Student("Tom",70))

print("Original:", s)



#对list进行排序,注意这是内置sort方法

s.sort()



#查看结果,已经按照成绩排好序

print("Sorted:",s)
class Car:

    def __init__(self, name):

        self.name = name;

        self.remain_mile = 0

     

    def fill_fule(self, miles):

        self.remain_mile = miles

         

    def run(self, miles):

        print (self.name,end=':')

        if self.remain_mile >= miles:

            self.remain_mile -= miles

            print("run %d miles!" % (miles,))

        else:

            print("fuel out!")



class GasCar(Car):

    def fill_fuel(self,gas):  #加汽油gas升

        self.remain_mile = gas * 6.0 #每升跑6英里

         

class ElecCar(Car):

    def fill_fuel(self, power):  #充电power度

        self.remain_mile = power * 3.0 #每度电3英里

         

gcar=GasCar("BMW")

gcar.fill_fuel(50.0)

gcar.run(200.0)



ecar=ElecCar("Tesla")

ecar.fill_fuel(60.0)

ecar.run(200.0)
try:

    print('try...')

    r = 10 / 'xyz'

    print('result:',r)

except TypeError as e:

    print('TypeError:',e)

except ZeroDivisionError as e:

    print('no error!')

else:

    print('no error!')

finally:

    print('finally...')

print('END')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值