Release time: Nov. 21, 2024, 2:45 p.m.
In [1]:
from env_helper import info; info()
页面更新时间: 2024-09-25 16:23:27 运行环境: Linux发行版本: Debian GNU/Linux 12 (bookworm) 操作系统内核: Linux-6.1.0-25-amd64-x86_64-with-glibc2.36 Python版本: 3.11.2
为了快速开始使用,先看一下交互式运行的用法:
Linux下, 打开终端, 在其中键入 python3
(若安装 ipython,可以键入 ipython3
)。 这样就打开了交互式的Python
Shell。
在Shell下键入的内容.
In [2]:
print('Hello, Python World!')
Hello, Python World!
print()
格式化输出函数,输出括号里的参数,参数可以是字符串,也可以是数字。如果参数是空,输出结果也是空。
In [3]:
strval1 = 'Welcome ' strval2 = 'Python World!' strval1 + strval2
Out[3]:
'Welcome Python World!'
给变量 strval1
, strcal2
赋值。格式化输出变量。
还有一种方式是将 Python 代码写入到文件中(不是一行行的粘贴), 在 Linux 下,可以通过终端、文本编辑器(配置了运行环境的VIM)或 IDE(如 PyCharm ) 中来运行; 在Windows下,可以在终端,或在 IDLE 中打开然后运行。 这样的文件,被称为脚本文件。通过这种方式,能够修改和实验这些设置,然后重新运行脚本。
使用文本编辑器新建一个文件,输入下面代码:
In [4]:
print('Hello, Python World!') strval1 = 'Welcome' strval2 = 'Python World!' print(strval1) print(strval1 + strval2)
Hello, Python World! Welcome WelcomePython World!
保存文件, 注意后缀为 py
。 例如, 保存为 demo1.py
。 然后Windows下打开DOS窗口, 输入:
python3 path_to_filedemo1.py
Linux下类似。 若提示没有python程序, 参考前面环境变量设置部分。
在Linux下,创建一个空白的纯文本文件,然后给其添加可执行的权限:
chmod +x world.py
然后,在脚本文件的头部添加如下的代码行:
在下面,就如同交互模式一样,将代码写入到文件中。当然代码要注意其语法。 最后就是保存文件,保存的时候,有的编辑器或操作系统中,要注意文本文件的编码。 使用 Python 3 ,要将文件保存为 UTF-8 编码的文件。
关于中文的处理,在Python也是一个经常会遇到的问题,尽管在 Python3中已经大大简化了文件编码的问题, 但是在 GIS 的应用,还有许多的类库在继续使用 Python 2。 这个问题的阐述足够使用一个单独的章来说明,但是不适合在本书中展开说明,所以在本书中不会做过多的说明。
In [41]:
path = r'e:\book' print(path)
e:\book
In [42]:
print(' \n\t"\r ')
** **
转义符
In [43]:
len(path)
Out[43]:
7
长度
In [44]:
str_val = 's ' + 'pam' print(str_val) str_val = 's ' 'pam' print(str_val)
s pam s pam
连接's ' + 'pam' 或 's''pam' 建议使用前者,可读性
In [45]:
print('=' * 10)
==========
重复输出
In [46]:
print('abc'+str(9))
abc9
Python不允许在+表达式中出现其他类型,需要手工转换:
In [47]:
val = int('42') print(val) val =str(42) print(val) val = float('42.0') print(val)
42 42 42.0
字符串转换
In [48]:
print(ord('s')) #转ASCII print(type(ord('s'))) #转ASCII print(chr(115)) #转字符 print(type(chr(115)))
115
转换ASCII与字符
In [49]:
s='spam' k = '|'.join(s) print(k) s='spam' l = list(s) print(l) k = '|'.join(l) print(k)
s|p|a|m ['s', 'p', 'a', 'm'] s|p|a|m
合并与分割
In [50]:
s = s+'a' s = s[3:] + 'b' s = s.replace('pl','pa')
字符串无法进行修改,但可以通过重新赋值的方法变通
In [51]:
s = 'abcdefg' print(s[1:]) print(s[1:-1])
bcdefg bcdef
字符串的索引和切片,前面刚讲过
In [52]:
str_val = 'abcd' str_val = str_val.capitalize() print(str_val)
Abcd
字符串第一个字符大写
In [53]:
str_val = str_val.lower() print(str_val)
abcd
全变小写
In [54]:
print(str_val.isalpha()) print(str_val.isdigit())
True False
isxxx 函数。更多请找参考手册
In [55]:
str_val = ' abcdfgxabcdyzcdba ' str_val = str_val.strip() print(str_val) str_val = str_val.strip('a') print(str_val)
abcdfgxabcdyzcdba bcdfgxabcdyzcdb
去掉字符
In [56]:
tepstr = str_val str_val = str_val.strip('bc') print(str_val) str_val = tepstr.strip('cb') print(str_val)
dfgxabcdyzcd dfgxabcdyzcd
In [57]:
str_val = list(str_val) str_val.sort() str_val = ''.join(str_val) print(str_val)
abccdddfgxyz
字符串排序
In [58]:
str_val = str_val.upper() print(str_val)
ABCCDDDFGXYZ
全部大写
In [59]:
ind_list = range(5, 15) ind_list = [str(x) for x in ind_list] print(ind_list) str_list = [ind.zfill(3) for ind in ind_list] print(str_list) ''' 格式化输出 : %c 单个字符 %d 十进制整数 %o 八进制整数 %s 字符串 %x 十六进制整数, 其中字母小写 %X 十六进制整数, 其中字母大写 ''' str_val = 'The are %d %s in the team.' % (2, 'girls') print(str_val)
['5', '6', '7', '8', '9', '10', '11', '12', '13', '14'] ['005', '006', '007', '008', '009', '010', '011', '012', '013', '014'] The are 2 girls in the team.
返回长度width的字符串,原字符串右对齐,前面填充0