Python教程:基础知识与字符串操作
联系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