python学习,基础(一)

Python是一种面向对象、解释型、动态类型计算机程序设计语言

  •     解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译
  •     动态类型:在程序执行过程中,可以改变变量的类型
    它常被昵称为 胶水语言 ,能够把用其他语言制作的各种模块(尤其是 C/C++ )很轻松地联结在一起


1、简单小例子

temp = input("猜一个数字: ")
guess = int(temp)
if guess == 8:
    print("猜对了")
else:
    print("错了")

结果:

2、数据类型

    1)150000 ==15e4    //返回true。右边为e记法,e表示10,整体表示15*10的4次方

            15e-4     //整体表示15*10的-4次方

    2)

def type_test():
    print(type(10))         #<class 'int'>
    print(type(10.12))      #<class 'float'>
    print(type("werrwer"))  #<class 'str'>
    print(type(True))       #<class 'bool'>

    print(isinstance("hhhh",str))   #True
    print(isinstance("hhhh",int))   #False

3、运算符

def yunsuanfu():
    a = b = c = d = 10
    a+=1        # a=a+1
    b-=3        # b=b-3
    c*=10       # c=c*10
    d/=8        # d=d/8
    print(a)    # 11
    print(b)    # 7
    print(c)    # 100
    print(d)    # 1.25

    print(b//3)     # 7//3=2  求商
    print(b % 3)    # 7%3=1    求余
    print(3**2)     #3的2次方 =9   幂运算
    print(-3**2)    # 3的2次方的负数
    print((-3)**2)  # -3的2次方

3、各种操作符号的优先级

塔顶优先级最高



4、break、continue

    1)break:一旦遇到满足条件的i值,就跳出整个for循环,终止循环

for i in range(10):
    if i%2 != 0:
        print(i)
        break
    else:
        print("===========")

    2)continue:遇到满足条件之后,跳出if、else判断,即不去判断else了,从for循环开始继续下一条循环

for i in range(10):
    if i%2 != 0:
        print(i)
        continue
    else:
        print("===========")


5、函数使用

1)向列表中增/删数据,三种方法

增加:append、extend、insert

member=['哈哈哈哈',123,[123,34,2],'啦啦啦']    
member.append('孩子1')            #单个插入到列表中
print(member)
member.extend(['孩子2', '爸爸', '妈妈'])   #要给你一个列表扩展另一个列表
print(member)
member.insert(0, '牡丹')           #指定插入位置
print(member)

删除:remove、del、pop

member=['哈哈哈哈', '孩子', '爸爸', '妈妈', '爷爷']
member.remove('孩子')     #删除'孩子'这个数据
print(member)
del(member[1])            #删除列表索引为1的数据
print(member)
member.pop()              #删除列表最后一个数据
print(member)
member.pop(1)             #删除 列表下标为1 的数据     
print(member)
print(member * 3)    #将列表数据复制添加三遍
 
 
print(member[1:4])    #分片取列表数据 从下标1开始到下表4 结束,不包括下标4,即下表标
print(member[:4])    #从下表0开始,到4结束
print(member[1:])    #从下表1开始,到最后一个

2)、排序sort、sorted,,,,,reverse

    1、简单排序
list = [5, 23, 45, 23, 34, 1, 77, 89, 56, 34, 5, 3]
list.sort()                            
print(list)
print(sorted(list, reverse=True))
list.reverse()
print(list)

list.sort()功能是针对列表自己内部进行排序, 不会有返回值, 因此返回为None。 reverse同理
解决办法:
    1)
        list.sort()
        return list

    2)
        return sorted(list)

        sort、sorted均接受 reverse=True or False 这个参数,表示排序的升降顺序


 2、对元素指定的某一部分进行排序,关键字排序

s = ['Chr1-10.txt','Chr1-1.txt','Chr1-2.txt','Chr1-14.txt','Chr1-3.txt','Chr1-20.txt','Chr1-5.txt']

我想要按照-后的数字的大小升序排序。要用到key

sorted(s, key=lambda d : int(d.split('-')[-1].split('.')[0]))

['Chr1-1.txt', 'Chr1-2.txt', 'Chr1-3.txt', 'Chr1-5.txt', 'Chr1-10.txt', 'Chr1-14.txt', 'Chr1-20.txt']

这就是key的功能,制定排序的关键字,通常都是一个lambda函数,当然你也可以事先定义好这个函数。如果不讲这个关键字转化为整型,结果是这样的:

sorted(s, key=lambda d : d.split('-')[-1].split('.')[0])

['Chr1-1.txt', 'Chr1-10.txt', 'Chr1-14.txt', 'Chr1-2.txt', 'Chr1-20.txt', 'Chr1-3.txt', 'Chr1-5.txt']

这相当于把这个关键字当做字符串了,很显然,在python中,'2' > '10'

你可以定制你想要的key, 如 key = lambda x : len(x) 按照序列的长度去排序。key= lambda x : (x[1], x[0]) 按二个元素,再第一个 等等。。。


3)、count、index、

 
 
member = [2323, 123, 111, 222, 444, 888, 100,123, '123']
    print(member.count(123))    # 列表中123出现的次数  输出:3
    print(member.index(123))    #列表中 123 出现第一次的下标
    print(member.index(123, 2, 8)) #123在下标1到8的数据片段中第一次出现的位置
 
 

4)、列表拷贝

list2 = list[:]
     list1 = list    #list1与list数据是指向同一个
    list2 = list[:]    #拷贝(备份)
    list.reverse()    #list反转
    print(list1)      #与list同步,反转后的list
    print(list2)    #list反转前的数据


猜你喜欢

转载自blog.csdn.net/register_2/article/details/80062222
今日推荐