python学习,基础(一)

 

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

  •     解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译
  •     动态类型:在程序执行过程中,可以改变变量的类型

    它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起

 

x=2;    y=4

a=x*y        ---->相乘:结果为:8

b=x**y        ---->y次方:结果为:16

 

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

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值