声明:本人非专业的程序员,只是在学习之余喜欢编程,python是我最喜欢的编程语言,它优雅,简洁的特性吸引了我如果在文章中出现了错误的描述,还请各位指出。
希望在以后的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是一种解释型、面向对象的语言。由吉多 范罗苏姆于1989年发明,1991年正式发布。官网:www.python.org
1.可读性强:
一个程序会被反复修改,可读性强意味着让你可以在短时间内学习和记忆,直接提高生产率。
2.简洁:
研究表明,程序员每天可编写的有效代码数是有限的。完成同样的功能只用一半的代码甚至更少,其实就是提高了一倍以上的生产率。python是由C语言开发的,但是不再有C语言中指针等复杂的数据类型,python的简洁性让开发难度和和代码幅度大大降低开发任务大大简化。
3.面向对象
4.免费和开源
5.可移植和跨平台
6.丰富的库
7.可扩展性
勾选:“Add Python to environment variable”。 这样就会将Python添加到环境变量Path中,我们可以在windows的命令行模式下运行Python解释器。
问题:由于dll缺失造成安装出错:
下载dll修复软件,运行修复即可,重启计算机。
print("a")
print("b")
print("c")
第一个Python程序中需要注意的小要点:
【操作】使用Python帮助系统查看关键字
>>> help()
help> keywords
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程。实际上,大多数程序员打交道最多的是“字符串”而不是“数字”。因为,编程是用来解决现实问题的,因此逻辑思维的重要性远远超过数学能力。
字符串的本质是:字符序列。Python的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。
Python不支持单字符类型,单字符也是作为一个字符串使用的。
Python3直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位 Unicode编码,ASCII码是Unicode编码的子集。
使用内置函数ord()可以把字符转换成对应的Unicode码;
使用内置函数chr()可以把十进制数字转换成对应的字符。
>>> ord('A')
65
>>> ord('我')
39640
>>> chr('爱')
'B'
>>> ord('你')
28103
我们可以通过单引号或双引号创建字符串。例如: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"
Python允许空字符串的存在,不包含任何字符且长度为0。例如:
>>> c = ''
>>> len(c)
0
len()用于计算字符串含有多少字符。例如:
>>> d = 'abc我爱你'
>>> len(d)
6
使用“\+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的转义字符有这些:
转义字符 | 描述 |
\ 在行尾时 | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\b | 退格 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
实操:测试转义字符的使用
>>> a = 'I\nlove\nU'
>>> a
'I\nlove\nU'
>>> print(a)
I
love
U
>>> print('aaabb\
cccddd')
aaabbcccddd
实操:字符串拼接
>>> a = 'sxt'+'yang'
>>> a
'sxtyang'
>>> b = 'sxt''yang'
>>> b
'sxtgaoqi
使用*可进行字符串的复制
实操:字符串复制
>>>a = "ab"*2
>>>a
"ababab"
我们前面调用print时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行符。我 们可以自己通过参数end = “任意字符串”。实现末尾添加任何内容:
建立源文件mypy_06.py:
print("sxt",end=' ')
print("sxt",end='##')
print("sxt")
运行结果:
sxt sxt##sxt
str()可以帮助我们将其他数据类型转换为字符串。例如:
str(5.20) ==> ‘5.20’ str(3.14e2)==>’314.0’ str(True) ==> ‘True’
当我们调用print()函数时,解释器自动调用了str()将非字符串的对象转成了字符串。我们在面向对象章节中详细讲解这部分内容。
字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。
正向搜索:
最左侧第一个字符,偏移量是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 "
", line 1, in a[-30]
IndexError: string index out of range
切片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'
我们发现正常输出了结果,没有报错。
【操作】
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函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。
>>> "sxt100".isalnum()
True
>>> "sxt我爱你".isalpha()
True
>>> "234.3".isdigit()
False
>>> "23423".isdigit()
True
>>> "aB".isupper()
False
>>> "A".isupper()
True
>>> "\t\n".isspace()
True