步入正题,先说说python的文件, python的程序文件名是以.py为结尾的。
比如说:
#!/usr/bin/python
#the filename: helloworld.py
print('Hello World').py文件能不能像.exe文件那样直接运行呢?在Windows上是不行的,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:
#!/usr/bin/env python3
或者先给程序赋予执行权限
# chmod +x 2.py然后执行如下操作在terminal终端下键入python 后空格 + 你需要执行的python的py文件名即可。
(注:此篇内容记录的只有python3)
/usr是类unix操作系统文件目录, /usr/bin是/usr的子目录。 env是显示系统环境变量的命令 python3是调用python3解释器,用来解释执行.py文件。
帮助
在Python中,如果你想得到任何关于函数或语句的快速信息帮助,就可以使用内置的help函数:
然后会显示较为详细的信息。
注意这是在Python的交互模式下输入,可以通过在命令行模式下敲命令python3就进入到Python交互模式,它的提示符是>>> 不想看时,按 q 来退出帮助。如果你需要得到关于类似 return 操作符的帮助,需要在内部加上引号,>>> help('return'), 这样Python就能理解你到底想干什么。
输入输出
输出 使用print方法,例如:>>> print('hello, world')
help获取到的信息:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
输入 使用input方法,例如:
>>> input('请输入信息:')
help获取到的信息:
input(prompt=None, /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
基础语法
以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。
Python程序大小写敏感的,如果大小写写错了,程序会报错。
变量
在python中,赋值即重新定义,如果一个变量已经定义。赋值则相当于重新定义。标识符第一个字符不能是数字,只能是字母或一个下划线_(但是最好不要用下划线开头,因为python中很多函数和库都以下划线开头 容易让人误解,产生歧义)
python中不需要关心变量和内存的管理。python使用引用计数记录所有对象的引用数 使用gc 垃圾回收机制 (有策略的内存规整)。
数据类型
在 Python 中数的类型有三种 —— 整数、浮点数和复数。
int(x)返回一个整数
float(x)返回一个浮点数
complex(x),comeplex(x,y)返回一个复数
bool(x)返回布尔值,False等价 | True等价
python中的浮点数只有双精度,int类型可以取任意长度(只要不超过你的RAM)
字符串
Python中默认所有的字符串的编码是 Unicode。没有仅仅使用 ASCII 的字符串,原因是 Unicode 是 ASCII 的超集。如果要严格使用 ASCII 编码的 字节流,可用 str.encode("ascii") 。
如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。因此通常会使用UTF-8编码,可以通过如下方式声明.py文件的编码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
对于不清楚什么UTF-8的同学可以看下:ASCII、Unicode和UTF-8的关系
单引号 你可以用单引号指定字符串,如 ’Quote me on this’ 。所有的空白,即空格和制表符都照原样保留。
双引号 在双引号中的字符串与单引号中的字符串的使用完全相同,例如 "What’s yourname?" 。三引号 利用三引号("""or”’),你可以指示一个多行的字符串。你可以在三引号中自由 的使用单引号和双引号。例如:
'''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Join, Tom."
'''
转义序列 假如你有一个字符串包含单引号’,如何表示这个字符串呢?例如,字符串是What’s your name? 。你不能用 ’What’s your name?’来表示,因为 Python 不知道字符串的起始和结束位置。所以应该将字符串中间的这个单引号指定为不表示字符串的结束。这可在称之为转义序列的协助下实现。可以讲单引号指定为 \' —— 注意反斜杠。现在,就能将字符串表示为 ’What\’s your name?’。 还有一种方式就是用双引号"What’s your name?" 。类似地,在用双引号的字符串 中用双引号必须用转义符。还有,必须用转义符\\来表示反斜杠。
如果你想指定两行字符串,该如何做呢?一种方式就是用前面提到的用三引号的 字符串,或者可以用转义符\n表示新的一行的开始。例如 This is the first line\nThis is the second line 。另外一个有用的转义字符是Tab键 ——\t。有许多转义序列,这儿仅仅提到了最有用的几个。 需要说明的是,在一个字符串中,在一行末尾的反斜杠仅仅表示下一行的字符串是上一行的继续,但并不增加新的行。例如:
"This is the first sentence.\
This is the second sentence."
与"This is the first sentence. This is the second sentence."等价。