ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【paddle领航团基础python课程】

2021-02-10 15:33:45  阅读:155  来源: 互联网

标签:string python list paddle print world 领航 my name


python的应用领域

  • Web应用开发
  • 自动化运维
  • 3D游戏开发
  • 图形界面开发
  • C/S服务端开发
  • 科学计算

Python的特点

  • 简洁性 实现同样的功能,python代码的行数往往是Java的1/5;
  • 易读性
  • 可扩展开源性

python运算符优先级

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GnGRrkeB-1612941217679)(C:\Users\fylal\AppData\Roaming\Typora\typora-user-images\image-20210208104803672.png)]

基本数据类型

  • 整型
  • 浮点型
  • 字符串 单引号‘ ’或者双引号“ ”括起来的任意文本 也可以三单引号‘’‘ ’‘’和三双引号“”“ ”“”, 三引号的内容可换行,单或双引号的内容不可换行
  • bool型 True or Flase
  • None 空值

类型转换

  • int() 将float型,string型,bool型转为整型
  • str() 将int型,float型,bool型转为整型
  • bool() 非零为True,0为False
  • float 将将int型,string型,bool型转为整型

基本运算符

print(1+2)   # 加法
print(1-2)   # 减法
print(1*2)   # 乘法
print(1/2)   # 除法
print(1//2)  # 整除 (向下取整)
print(1%2)   # 取余数
print(2**2)  # 幂运算

起名法则

标识符由字母,下划线,数字组成,标识符第一个字符不能为数字。

注意:标识符命名不能和关键字名字一样

查看关键字方法:

import keyword
print(keyword.kwlist)

组合数据类型

  • 列表 list

list是一种有序的组合,可以随时添加和删除其中的元素。

list1=[1,2,3,4,5]
list2=['a','b','c','d','a']
list3=['a','d',1,2]
len(list1)   # 求list1的长度
list1[4]     # 取list1下标为4的数,下标从0开始正着数或者从-1倒着数
#********list常用函数***********
list3.append(3) # 在list3的后面添加数字3
# 删除元素
list1.pop()  # 默认弹出最后一个数字,list1的长度减1
list1.pop(4) # 将list1中的下标为4的数弹出
list2.remove('a')    # 移除找到的第一个字符
# 插入元素
list2.insert(2, 'ooo')  # 在指定位置添加元素,如果指定的下标不存在,那么就是在末尾添加
# count计数和index查找
print(list2.count('a'))
print(list.index('a'))
print(list2)
list1.extend(list2)   # 合并两个list,list2中仍有元素

list索引、切片

list1 = ['a','b','c','d','e','f']
list1[2]
list1[2:5]
  • 组 tuple

另一种有序列表,tuple和list类似,但tuple一旦初始化就不能修改,无append()、pop()函数

tuple1=(1,2,3,4,5)
tuple2=('a','b','c','d')
tuple3=('a','d',1,2)
len(tuple1)
  • 字典 dict

dict全程dictionary,使用key-value存储,具有极快的查找速度。

word = {'apple':'苹果','banana':'香蕉'}
scores = {'小张':100, '小李':80}
grad = {4:'很好',3: '好',2:'中',1:'差',0:'很差'}
scores['小张']
grad[3]
scores['小赵']=60  # 查找字典中是否有小赵,无就添加,有就修改
  • 集合 set

set和dict类似,是一组key的集合,但不存储value。且key不能重复。

s={1,1,2,3,4}  # 输出:{1,2,3,4}
# 类型转换
set([1,1,2,3,4])  # 列表→集合
list({1,1,2,3,4}) # 集合→列表
list((1,2,3))     # 元组→列表

流程控制:条件判断和循环

  • if语句

    if 条件:
       语句
    else:
    

    多重条件语句

    if 条件:
       语句
    elif 条件:
       语句
    else:
        语句
    

    例子:

    score = 80
    if score < 60:
        print('不及格')
    else:
        print('及格')
    
  • while

    number = 1
    while number<10:   # 注意边界条件
        print(number)
        number+=1
    
  • for循环

    for循环可以遍历任何序列的项目,如一个列表或者一个字符串

# 打印1到9
for i in range(9):
    print(i+1)
    
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        
   print( '当前水果 :', fruit)

for letter in 'Python':     # 第二个实例
   print( '当前字母 :', letter)
  • for循环扩展

    对list_1操作,对每一个数加1

    #方法一:
    list_1=[1,2,3,4,5]
    list_2=[]
    for i in range(len(list_1)):
        list_2[i]+=1
    print(list_2)
    
    #方法二:
    list_2=[n+1 for n in list_1]
    print(list_2)
    
    
    

    判断list_1中的奇数

    #方法一:
    for i in range(len(list_1)):
        if list_1[i]%2==1:
            list_2.append(list_1[i])
    print(list_2)
    #方法二:
    list_2=[n for n in list_1 if n%2==1]
    

    在list_A 但是不在list_B中

    list_A = [1,3,6,7,32,65,12]
    list_B = [2,6,3,5,12]
    [n for n in list_A for n not in list_B
    
  • break vs continue

    使用break语句来完全终止循环

    使用continue语句直接跳到循环的下一次迭代

    例子:

    # 查找list_1 中的数字
    list_1 = [1,6,3,2,8,4]
    for number in list_1:
        if number == 3:
            print('找到了!')
            break  
            
    # 打印1-10中的偶数 
    for i in range(10):
        num = i+1
        if num%2 == 0:
            print(num)
        else:
            continue
    

字符串进阶

  • 字符串索引、切片

    切片:[起始:结束:步长],默认值:截取方向为从左往右,起始为0,结束为字符串结尾元素,步长为1。切片范围为左闭右开。包含左范围,不包含有范围。

    注:当步长为-1时,截取方向为从右往左

    name = 'hello world!'
    name[1]  
    name[-4]     # 结果为r
    name[1:4]    # 结果为ell
    name[::-1]   # 结果为!dlrow olleh
    name[3:]     # 结果为lo world!
    name[8:2:-1] # 结果为row ol
    
  • 字符串常用函数

    count 计数功能

    my_string = 'hello_world'
    my_string.count('o')
    # 查看帮助
    help(my_string.count)
    

    find 查找功能

    返回从左第一个指定字符的索引,找不到返回-1

    my_string = 'hello_world'
    my_string.find('o')    # 结果为3
    

    index 查找

    返回从左第一个指定字符的索引,找不到报错

    my_string = 'hello_world'
    my_string.index('o') # 结果为3
    

    以某字符开头或结尾startswith()、endswith()

    my_string = 'hello_world'
    my_string.startswith('hello')  # 是否以hello开始
    my_string.endswith('world')   # 是否以world结尾
    

    split 字符串的拆分

    按照指定的内容进行分割

    my_string = 'hello_world'
    my_string.split('_')
    

    字符串的替换

    从左到右替换指定的元素,可以指定替换的个数,默认全部替换

    my_string = 'hello_world_world_world'
    my_string.replace('_',' ')
    my_string.replace('world','world',upper(),2)  # 换前两个
    

    字符串标准化

    默认去除两边的空格、换行符之类的,去除内容可以指定

    my_string = ' hello world\n'
    my_string.strip()  # 结果为hello world
    

    字符串的变形

    my_string = 'hello_world'   
    my_string.upper()  # 所有字母大写
    my_string.lower()  # 所有字母小写
    my_string.capitalize() # 首字母大写
    

    字符串的格式化输出

    %

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FCRXqz9Q-1612941217687)(C:\Users\fylal\AppData\Roaming\Typora\typora-user-images\image-20210208121022991.png)]

accuracy=80/123
print('我的模型正确率为',accuracy,'!')

accuracy=80/123
print('我的模型正确率为%s' %accuracy)

name='Merry'
hight=170
score_math=95
score_english=89
print('大家好!我叫%s,我的身高是%d cm,数学成绩%.2f分,英语成绩%d分' %(name,hight,score_math,score_english))

format

指定了:s,则只能穿字符串值,如果传其他类型值不会自动转换

当不指定类型时,可以传任何类型

print('大家好!,我叫{:s},我的身高是{:d}cm,数学成绩{:.2f}分,英语成绩{}分'.format(name,int(hight),score_math,score_english))

print('Hello,{0},成绩提升了{1:0.1f},百分比{2:0.1f}%'\
     .format('小明',6,80.5))

print('Hello,{name:},成绩提升了{score:.1f}分,百分比为{percent:.2f}%'.format(name='小明',score=6,percent=80.5))

f-string

name='Merry'
hight=170.5
score_math=95
score_english=89
print(f"大家好!我叫{name},我的身高{hight:.3f}cm,数学成绩{score_math}分,英语成绩{score_english}分")

标签:string,python,list,paddle,print,world,领航,my,name
来源: https://blog.csdn.net/fyfy96/article/details/113782681

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有