欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【Python3入坑】【持续更新中】初识Python(v3.9)【初学のday3发起】

程序员文章站 2022-03-19 16:22:30
初识Python(v3.9)【——主要针对有C\C++语言基础的Coder吼i】[by_041]文章目录初识Python(v3.9)[by_041]Tips输入输出输出输入:基本语法数据结构序列/列表~重点讲一下,存储方式有点像链表~控制语句~注意上层语句后的:~判断循环import安装插件Tips在Python中''和""含义一样注释:# 行注释'''语段注释'''Python对空格、回车和Tab十分敏感,格式要注意了空格和Tab直接代替了{}行首的缩进情况表示层...

初识Python(v3.9)

【——主要针对有C\C++语言基础的Coder吼i】

[by_041]

Tips

  • 在Python中''""含义一样

  • 注释:

    # 行注释
    
    '''
    语段注释
    '''
    
  • Python对空格、回车和Tab十分敏感,格式要注意了

    • 空格和Tab直接代替了{}行首的缩进情况表示层次,同一个层次中的语句相当于C\C++中被{}括号括起来了
  • 实践证明:精度损失依然存在!!但是,其用了某种方法【我猜是数据扰动】减小了在运行中精度损失对整体的影响

输入输出

输出

  • print():输出所有参数,最后换行
  • 参数表:
参数 含义 默认 注意
end=’’ 输出结尾=’’ 回车 只能在末尾加入【不包括同类标识符,下同】
sep=’.’ 参数间间隔=’.’ 空格 只能在末尾加入
  • 还有格式化输出:

    #(类似C的printf)
    print("格式化字符串"%变量)
    print("格式化字符串"%(变量1,变量2,…))
    
    # 有点C++的cout流的味道
    print("这是变量1:{}\n这是变量2:{}\n这是变量3:{}\n".format(a1, a2, a3))
    print("{:.6f}".format(float(a)))
    
    格式化字符 含义
    %c 字符
    %s 字符串,通过str()字符串转换来格式化
    %i 有符号十进制整数
    %d 有符号十进制整数
    %u 无符号十进制整数
    %o 八进制整数
    %x、%X 十六进制整数
    %e、%E 索引符号
    %f 浮点实数
    %g、%G %f、%e的简写
    %% 输出百分号,%.2f%%

输入:

  • input():输出()中的内容(只允许存在一个参数),然后读取一行字符返回其组成的字符串

    同行输入:

    a,b=map(int,input().split())
    

    如果有多个变量只需:

    a,b,c=map(int,input().split())
    

    用逗号隔开:

    a,b,c=map(int,input().split(','))
    

基本语法

下面的内容基本上就是相较于C\C++的观点

其中C\C++的基本运算符大都被Python很好的保留甚至优化了

不同点有以下:

内容 Before After
真假常数 truefalse TrueFalseNone
逻辑运算 &&||! andornot
无返回值类型 void NoneType

数据类型相关

  • Python中的变量十分灵活

    • 类型:
      • 主要有:整数(int)、实数(float)、字符串(str)、列表(list)
      • 还包括:
        • 等差参数(range):相当于用逗号隔开的一个参数集
        • 无返回型(NoneType)
    • 支持直接赋值a=1s=''
    • 支持递增操作:s+='.'
  • 序列很强大!!!!

    • eg.套娃:[1,2,3,4,[1,2,3,4,[1,2,3,4],5],5]
  • 相关操作:

    • 返回变量类型type(a)
    • 强制类型转换int(a)float(a)str(a)list()
  • 对象内存地址id(a)

  • 运算符号:

    • 字符串str类型可以进行s1+s2(在s1末尾追加s2的串)s*a(s重复a次的串)还有>\<\=\<=\>=(字典序比较)操作

    • a**b:次方,a的b次幂

    • a//b:整除,向下取整

    • 赋值运算符:**=//= [相较与C\C++增添的,++--失效]

    • 成员运算符:in[a in b返回a是否在序列b的元素中]、not in

    • 身份运算符:is[id(a)==id(b)是否引用了同一对象]、is not

    • 运算符优先级

      运算符 描述
      ** 指数(最高优先级)
      *、/、%、// 乘、除、取模、取整除
      >>、<< 右移、左移(位运算)
      & 位’AND’
      ^、| 位运算符
      <=、<、>、>= 比较运算符
      [没有<>、]==、 != 等于运算符
      =、%=、/=、//=、-=、+=、*=、**= 赋值运算符
      is、is not 身份运算符
      in、not in 成员运算符
      and、or、not 逻辑运算符
  • 字符串

    • 表示:[''""'''...'''"""...""",其中'"符号成对基本等价]

      • 和C\C++相同,用""括起来,或用和""基本等价''括起来

        # 差异在:
        print("I'm GOOD !")
        print('I\'m GOOD !')
        # 上面俩句等价,且只能这么写
        print('I said "yes" ')
        print("I said \"yes\" ")
        # t同样,这个也是
        
      • 新增'''间隔几行'''"""间隔几行""",表示多行字符串

        print('''这里是第一行的内容
        中间的内容1
        	中间的内容2
        这里是最后一行''')
        print(‘End_by_041’)
        
        # 输出:
        # 这里是第一行的内容
        # 中间的内容1
        # 	中间的内容2
        # 这里是最后一行
        # End_by_041
        # [Finished in 0.1s]
        
      • 常用的转义字符

        转义字符 描述
        (在行尾时) 续行符
        \ \ 反斜杠
        \ ’ 单引号
        \ " 双引号
        \a 响铃
        \b 退格(BackSpace)
        \000
        \n 换行
        \v 纵向制表
        \t 横向指标
        \r 回车
        \f 换页
        \oyy 八进制数,yy代表的字符,换行
        \xyy 十六进制yy代表字符,例如\x0a代表换行
        \other 其他的字符以普通格式输出
  • 序列/列表重点讲一下,存储方式有点像链表

    • 添加:
      • a.append(b):在列表a尾添加元素b
      • a.insert(f,b):在列表a的f位置添加元素b,原来的f位置以及后面的元素后移
    • 删除:
      • del a[b]:删除列表a的第b号元素
      • a.pop(b):删除列表a的第b号元素,并返回a[b]的值
      • a.remove(b):删除列表a中值为b的第一个元素,不存在则啥也不干,甚至会报错,记得判断
    • 排序:
      • a.sort():对列表a进行永久性排序,按照字母顺序
      • a.sorted():对列表a进行临时性排序
      • a.reverse():对列表a反转排序
    • 属性:
      • a.len():确定长度

    功能强大的体现

    # 代码
    a=[[v for v in range(3)],10,(1,2),[[101],[123,321,[12,12]]]]
    for i in a:
    	print(i)
    
    # 运行结果:
    # [0, 1, 2]
    # 10
    # (1, 2)
    # [[101], [123, 321, [12, 12]]]
    # [Finished in 0.1s]
    
  • 元组

控制语句注意上层语句后的’:’

判断

  • if

    if ???:
        ...
    elif ???:
        ...
    else:
        ...
    

循环

Python中的while()和for的功能就区分的很明确了

break、continue语句仍然适用

然后Python还多了一个占位语句(空语句)操作:pass

然后循环之后可以加一个同一层次的**else:**以至少运行一次!!且比do-while好用也好理解多了!

  • while(条件循环)

    i=1
    while i<=10:
        print(i)
        i+=1
    else:
        print(i)	# 存在的意义:至少运行一次!!且比do-while好用也好理解多了!
    
  • for(遍历循环,按照下标)

    # for的遍历,很像C++11的auto
    for i in range(5):	# 遍历[0,,4]
    	print(i)
    for a in [1,2,3,4]:	# 遍历列表,a的类型是各个元素的类型
    	print(a)
    for c in "Hello!":	# 遍历字符串,c的类型时str,是子串!
        print(c)
    
    
    # 因为是按照下标的
    isp=list(range(11))
    for a in isp:
    	print("now :",a)
    	if a*2 in isp:
    		isp.remove(a*2)
    		print('\tremove(%d)'%(a*2))
    	else:
    		print(a)
    print('')
    for a in isp:
    	print(a,end='')
    # 运行结果:
    # now : 0
    # 	remove(0)
    # now : 2
    # 	remove(4)
    # now : 3
    # 	remove(6)
    # now : 5
    # 	remove(10)
    # now : 7
    # 7
    # now : 8
    # 8
    # now : 9
    # 9
    # 
    # 1235789
    # [Finished in 0.1s]
    

进阶操作(大多与列表list有关!)

min(a,b,...)				# 最小值
max(a,b,...)				# 最大值
sum(a,b,...)				# 求和,只针对数	
# 当list中的俩俩元素类型相同时可以直接在括号中写列表名求相应值



# 链表的切片,这部分的a、b都是大等0的整数
list_name[a:b]				# 下标在[a,b]的元素组成的子序列
list_name[a:]				# 下标a以及其之后的元素组成的子序列
list_name[:b]				# 下标b以及其之前的元素促成的子序列
list_name[-a:]				# 列表中的倒数a个元素所组成的子序列
list_name[:]				# 同样表示列表中的所有元素组成的序列


range(begin,end,step)		# 步长为step在[begin,end)的等差数列,参数一定要是整数(int),可正可负
range(begin,end)			# 默认步长为1在[begin,end)的等差数列
range(a)					# 从0开始的a个整数,[0,,a-1]!!
list(range(a))				# 生成[0,a)的整数列表




# 列表的解析:下面的例子是制作1~9的平方表
squares = [ value**2 for value in range(1,11) ]
# 相当于
#	numbers = list(range(1,11))
#	squares = []
#
#	for number in numbers:
#    	squares.append(number**2)
#	print(squares)



# =======================================
# 调库!!!以下是需要导入库的内容:



import random				# 引入随机数库
x=random.randint(0,100)		# 返回[a,b]范围内的随机整数,天生就是随机数呢!!


from time import perf_counter
print(perf_counter())		# 输出程序运行时间

import

  • 导入整个模块,或者将某个模块中的一个或多个函数导入:

    import some_module
    from some_module import some_function
    from some_module import func_1,func_2,...
    

安装插件

  • 在cmd命令窗输入:

    安装:
    pip install 库名
    更新
    pip install --upgrade 库名
    
  • 博主已安装:

    lxml、 pyOpenSSL 、 Twisted 、pywin32、scrapy
    pillow√,matplotlib√,numpy√,pandas√,jieba√,wordcloud√,imagecodecs√
    等等一堆(漫长)
    

发文时才接触三天python,有不当之处请在评论区指出ha~

可能要过比较久了下次更新的关键词:元组、字典、函数相关

借鉴:CSND网址

本文地址:https://blog.csdn.net/qq_42710619/article/details/110853180

相关标签: Python 初学