联系QQ:970586718

博客地址:https://blog.csdn.net/m0_46521785

如何学好Python

  • 不断思考

  • 不要抄别人代码

  • 上课认真记忆、不停思考,不要放在课下

  • 上课以听为主,先理解再敲代码

  • 学编程就像谈恋爱,忘掉上一个才能更好的开展下一段,如果你学过C++,也许他是你的初恋,我知道世界上有很多像我一样的痴情好男人,但是呢你可以先暂时忘掉他,等我们考完之后该干嘛干嘛好吧。就像我学习C++,就会说什么啊,怎么这么麻烦,python都不用这么写,然后醒悟了,导致后来写python连input都忘了

  • 牢记基础概念,不要把编程就当成写代码,你能写出代码是有一定知识基础的

  • 遇到问题先自己解决,有问题先调试,不会的地方搜百度,最后再问别人

如何写编程题

  • 最好会使用pycharm或者spyder编译器

    pycharm下载、安装、使用教程:(推荐)

    https://www.runoob.com/w3cnote/pycharm-windows-install.html

    如果使用spyder编译器的话就直接下载Anaconda

    https://www.jianshu.com/p/62f155eb6ac5

  • 遇到问题先好好读题,形成自己的思路

  • 不要随便瞎写变量名

  • 注重课本概念

Python特点

不过多介绍,等大家后面会接触到的。

  • 语法简单,人性化

  • 第三方库众多

  • 安全性、高并发处理能力不太好

  • 运行速度慢

Python以后能干嘛

  • 写爬虫
  • 数据处理与分析
  • 画图,2D图,3D图
  • 机器学习/深度学习/自然语言处理/计算机视觉
  • 做网站后端
  • 自动化运维

这些部分我都有涉及,但是因为课程安排时间很短,就不给大家展示了,看看最后能不能留出时间

学习资源

  • 菜鸟教程
  • 易百教程
  • csdn、博客园
  • B站

学习要点

  • 循环、选择结构
  • 字符串操作以及相关函数
  • 列表、字典的操作
  • 字符串格式化

程序设计语言分类

记住有哪三类就OK

  • 机器语言

    机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语
    言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。目
    前,这种语言已经被淘汰。

  • 汇编语言

    汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语
    言同样存在着难学难用、容易出错、维护困难等缺点。但是汇编语言也有自己的优点:可
    直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。
    从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功
    能的技术性能(如特殊的输入输出)时,汇编语言才被使用。

  • 高级语言

    高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:
    形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个
    命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用
    性强,应用广泛。

IPO

  • input()接收到的是字符串类型

    a = input()
    
  • eval()

    • 还原数据本来的样子
    • 运行可以运行的步骤
    • ”eval is evil“存在安全隐患
    a = eval('11')
    print(eval('1+1'))
    
  • print()

    print(1,2,3)
    

基础知识

  • 缩进:四个空格或者按Tab键

  • 注释:使用#单行注释

  • 保留字

Python基本数据类型

语言来源于生活,语言设计的初衷就是解决生活中的问题,我们生活中解决问题,无非用文字或者数字

  • 字符型
    • 字符串
  • 布尔类型
    • True
    • False
  • 数值类型
    • 整数(整型)
    • 小数(浮点型)
    • 复数(a+bj) –>不常用

运算符

很符合日常生活语法

算数运算符 描述
x%y 求得商的余数。例如:5%2结果为1
x//y 求得x除y商的整数位,简称整除。例如x//y结果为2
x**y 求得x的y次幂。例如4**(1/2)结果为2,3**2结果为9
比较运算符 描述
x==y、x!=y 判断x是否相等或者不相等,符合条件返回True,否则返回False
x>y、x<y 判断x是否大于或小于y,符合条件返回True,否则返回False
x<=y、x>=y 判断x是否大于等于或小于等于y,同样返回布尔值
赋值运算符 描述
x=y 将y的值赋值给x,注意:当y是复杂数据类型时要使用.copy()的方法
x+=1 等价于x=x+1
x-=1 等价于x=x-1
x*=2 等价于x=x*2
x/=2 等价于x=x/2
逻辑运算符 描述
and 布尔运算“与”
or 布尔运算“或”
not 布尔运算“非”

即得到优先级关系:or<and<not,同一优先级默认从左往右计算。

成员运算符 描述
a in b 如果a在b就返回True
a not in b 如果a不在b就返回True

字符串操作

特点:

  • 有序
  • 无限长
  • 不可修改

需要掌握操作:

  • 求长度len

    a = 'Hello Wold!'
    print(len(a))
    
  • 索引

    a = 'Hello Wold!'
    print(a[2])
    print(a[-1])
    
  • 切片、反转

    a = 'Hello Wold!'
    print(a[0:-1])
    print(a[0:])
    print(a[:])
    print(a[::-1])
    
  • 比较大小

    比较大小会从前往后比较字符ASCII码的大小,如果相同则继续继续往后比较,直到出现不同的字母。

    a = 'Hello Wold!'
    print(a > 'A')
    print(a > 'a')
    
  • 转义字符与原生字符串

    使用\这个符号可以起到反转义的作用

    print('11\n22')
    print('11\\n22')
    print(r'11\n22')
    
  • 符号不能混用

    print(''111'')  # 报错
    print('"11"')  # 可以运行
    
  • 字符串加法与乘法

    a = '1'
    b ='2'
    c = a+b
    d = a*10
    print(c)
    print(d)
    
  • 常用函数

    • split
    • strip
    • replace、chr、ord
    • 可以手写的函数:isupper、islower、isdigit、isnumeric、count、index
  • 如何用for循环遍历字符串

    a = '12345'
    for i in a:
        print(i)
    ########或者#######
    for i in range(len(a)):
        print(a[i])
    
  • 数字与字符串转换

    a = eval('12.3')  # 字符串转数字
    print(type(a))
    b = str(a)  # 数字转字符串
    print(type(a))
    
  • 列表与字符串转换

    a = '12345'
    print(list(a))  # 字符串转列表
    b = ['1','2','3','4','5']
    print(''.join(b))  # 列表拼接为字符串
    

字符串格式化

format格式化

print('{:#^20.3f} 我爱你{:}'.format(1.23456789,'帅帅龙'))

%格式化

注意:上面的%与对齐中间添加一个填充字符,不写默认是空格

print('%#-20.2f'%1.23456789)

思考问题

  • 怎么保留两位小数输出?

  • 小数怎么变成整数?

  • replace怎么用?

  • 怎么使用split()与strip()

  • 怎么对一个数开平方,怎么求一个数的平方

  • 怎么将接收到的字符串变为数字?使用int吗?

  • 字符串可以比较大小吗?

  • 你能用for循环写一段代码统计某个字符出现的次数吗?

  • 如何判断一个字符串是否包含一段子字符串?

  • 写一段代码,删除指定字符

  • 下面这段代码对吗

    a = '我爱你'
    a[-1] = '帅帅龙'
    print(a)
    
  • 如何将字符串反转

  • 如何取出a中的456

    a = '1234567'
    

本文地址:https://blog.csdn.net/m0_46521785/article/details/110449692