前言
希望在以后的python学习过程中,大家相互交流,共同进步!
目录
第一章
一、python介绍
1.简介
2.特点
3.应用范围广泛
二、python下载安装和配置
三、第一个源程序
源码
程序的基本规范格式:
第二章
一、程序的构成
二、标识符的基本用法
三、字符串
1.字符串的基本特点
2.字符串的编码
3.引号创建字符串
4.空字符串和len()函数
5.转义字符
6、字符串拼接
7.字符串复制
8.不换行打印
9.str()函数实现数字转型字符串
10.使用[]提取字符
11.字符串接片slice操作
12.split()分割和join()合并
13.其他方法
第一章
一、python介绍
1.简介
python是一种解释型、面向对象的语言。由吉多 范罗苏姆于1989年发明,1991年正式发布。官网:www.python.org
2.特点
1.可读性强:
一个程序会被反复修改,可读性强意味着让你可以在短时间内学习和记忆,直接提高生产率。
2.简洁:
研究表明,程序员每天可编写的有效代码数是有限的。完成同样的功能只用一半的代码甚至更少,其实就是提高了一倍以上的生产率。python是由C语言开发的,但是不再有C语言中指针等复杂的数据类型,python的简洁性让开发难度和和代码幅度大大降低开发任务大大简化。
3.面向对象
4.免费和开源
5.可移植和跨平台
6.丰富的库
7.可扩展性
3.应用范围广泛
- 科学计算
- 人工智能
- WEB服务端和大型网站后端。
- YouTube、gmail等应用基于python开发。
- GUI开发(图形用户界面开发)
- 游戏开发
- 移动设备
- 嵌入式设备
- 系统运维
- 大数据
- 云计算
二、python下载安装和配置
- 进入官网:www.python.org/downloads/
- 下载
- 安装(和安装一般软件区别不大)
- 环境变量问题
勾选:“Add Python to environment variable”。 这样就会将Python添加到环境变量Path中,我们可以在windows的命令行模式下运行Python解释器。
问题:由于dll缺失造成安装出错:
下载dll修复软件,运行修复即可,重启计算机。
三、第一个源程序
源码
print("a")
print("b")
print("c")
第一个Python程序中需要注意的小要点:
- 不要在程序中,行开头处增加空格。空格在Python中有缩进的含义。
- 符号都是英文符号,不是中文。比如:(,”
程序的基本规范格式:
- 恰当的空格,缩进问题
- 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。语句从新行的第一列开始。
- 每个缩进层次使用 单个制表符 或四个空格(IDE会自动将制表符设置成4个空格)Python用缩进而不是{}表示程序块
- Python区分大小写
- 行注释:每行注释前加#号。当解释器看到#,则忽略这一行#后面的内容
第二章
一、程序的构成
- Python程序由模块组成。一个模块对应python源文件,一般后缀名是:.py。
- 模块由语句组成。运行Python程序时,按照模块中语句的顺序依次执行。
二、标识符的基本用法
- 区分大小写。如:sxt和SXT是不同的
- 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
- 不能使用关键字。比如:if、or、while等。
- 以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数。
【操作】使用Python帮助系统查看关键字
>>> help()
help> keywords
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
三、字符串
1.字符串的基本特点
很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程。实际上,大多数程序员打交道最多的是“字符串”而不是“数字”。因为,编程是用来解决现实问题的,因此逻辑思维的重要性远远超过数学能力。
字符串的本质是:字符序列。Python的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。
Python不支持单字符类型,单字符也是作为一个字符串使用的。
2.字符串的编码
Python3直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位 Unicode编码,ASCII码是Unicode编码的子集。
使用内置函数ord()可以把字符转换成对应的Unicode码;
使用内置函数chr()可以把十进制数字转换成对应的字符。
>>> ord('A')
65
>>> ord('我')
39640
>>> chr('爱')
'B'
>>> ord('你')
28103
3.引号创建字符串
我们可以通过单引号或双引号创建字符串。例如:a=’abc’; b=”sxt”
使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。例如:
>>> a = "I'm a teacher!"
>>> print(a)
I'm a teacher!
>>> b = 'my_name is "TOM"'
>>> print(b)
my_name is "TOM"
连续三个单引号或三个双引号,可以帮助我们创建多行字符串。例如:
>>> resume = ''' name="yang"
company="sxt" age=18
lover="Tom"'''
>>> print(resume)
name="yang"
company="sxt" age=18
lover="Tom"
4.空字符串和len()函数
Python允许空字符串的存在,不包含任何字符且长度为0。例如:
>>> c = ''
>>> len(c)
0
len()用于计算字符串含有多少字符。例如:
>>> d = 'abc我爱你'
>>> len(d)
6
5.转义字符
使用“\+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的转义字符有这些:
转义字符 | 描述 |
\ 在行尾时 | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\b | 退格 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
实操:测试转义字符的使用
>>> a = 'I\nlove\nU'
>>> a
'I\nlove\nU'
>>> print(a)
I
love
U
>>> print('aaabb\
cccddd')
aaabbcccddd
6、字符串拼接
- 可以使用+将多个字符串拼接起来。例如:’aa’+ ’bb’ ==>’aabb’
- 如果+两边都是字符串,则拼接。
- 如果+两边都是数字,则加法运算。如果+两边类型不同,则抛出异常
- 可以将多个字面字符串直接放到一起实现拼接。例如:’aa’’bb’==>’aabb’
实操:字符串拼接
>>> a = 'sxt'+'yang'
>>> a
'sxtyang'
>>> b = 'sxt''yang'
>>> b
'sxtgaoqi
7.字符串复制
使用*可进行字符串的复制
实操:字符串复制
>>>a = "ab"*2
>>>a
"ababab"
8.不换行打印
我们前面调用print时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。我 们可以自己通过参数end = “任意字符串”。实现末尾添加任何内容:
建立源文件mypy_06.py:
print("sxt",end=' ')
print("sxt",end='##')
print("sxt")
运行结果:
sxt sxt##sxt
9.str()函数实现数字转型字符串
str()可以帮助我们将其他数据类型转换为字符串。例如:
str(5.20) ==> ‘5.20’ str(3.14e2)==>’314.0’ str(True) ==> ‘True’
当我们调用print()函数时,解释器自动调用了str()将非字符串的对象转成了字符串。我们在面向对象章节中详细讲解这部分内容。
10.使用[]提取字符
字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。
正向搜索:
最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。直到len(str)-1为止。
反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,直到-len(str)为止。
实操:
>>> a = 'abcdefghijklmnopqrstuvwxyz'
>>> a
'abcdefghijklmnopqrstuvwxyz'
>>> a[0]
'a'
>>> a[3]
'd'
>>> a[26-1]
'z'
>>> a[-1]
'z'
>>> a[-26]
'a'
>>> a[-30]
Traceback (most recent call last):
File "<pyshell#91>", line 1, in <module>
a[-30]
IndexError: string index out of range
11.字符串接片slice操作
切片slice操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量start:终止偏移量end:步长step]
典型操作(三个量为正数的情况)如下:
操作和说明 | 实例 | 结果 |
[:] 提取整个字符串 | “abcdef”[:] | “abcdef” |
[start:]从start索引开始到结尾 | “abcdef”[2:] | “abcdef”[2:] |
[:end]从头开始知道end-1 | “abcdef”[:2] | “ab” |
[start:end]从start到end-1 | “abcdef”[2:4] | “cd” |
[start:end:step]从start提取到end-1,步长是step | “abcdef”[1:5:2] | “bd” |
"abcdefghijklmnopqrstuvwxyz"[-3:] | 倒数三个 | “xyz” |
"abcdefghijklmnopqrstuvwxyz"[-8:-3] | 倒数第八个到倒数第三个(包头不包尾) | 'stuvw |
"abcdefghijklmnopqrstuvwxyz"[::-1] | 步长为负,从右到左反向提取 | 'zyxwvutsrqponmlkjihgfedcba' |
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于“长度-1”会被当成-1。例如:
>>> "abcdefg"[3:50]
'defg'
我们发现正常输出了结果,没有报错。
【操作】
- 将”to be or not to be”字符串倒序输出
- 将”sxtsxtsxtsxtsxt”字符串中所有的s输出
12.split()分割和join()合并
split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。示例代码如下:
>>> a = "to be or not to be"
>>> a.split()
['to', 'be', 'or', 'not', 'to', 'be']
>>> a.split('be')
['to ', ' or not to ', '']
join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:
>>> a = ['sxt','sxt100','sxt200']
>>> '*'.join(a)
'sxt*sxt100*sxt200'
拼接字符串要点:
使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join函数,因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。
13.其他方法
- isalnum() 是否为字母或数字
- isalpha() 检测字符串是否只由字母组成(含汉字)。
- isdigit() 检测字符串是否只由数字组成。
- isspace() 检测是否为空白符
- isupper() 是否为大写字母
- islower() 是否为小写字母
>>> "sxt100".isalnum()
True
>>> "sxt我爱你".isalpha()
True
>>> "234.3".isdigit()
False
>>> "23423".isdigit()
True
>>> "aB".isupper()
False
>>> "A".isupper()
True
>>> "\t\n".isspace()
True