Python基础知识
Python 语言的特点
Python 是一门 免费、开源、跨平台 的解释型高级动态编程语言。
支持命令式和函数式编程,支持面向对象编程设计,拥有强大的内置对象、标准库和来自各个领域热爱编程的人员的思路、创意或者推测。
Python 是一种 解释型语言,也是一种 脚本语言,写好代码即可直接运行,省去了编译、链接的一系列麻烦。同时支持 交互 的操作方式,如果运行一段简单的小程序,连编辑器都可以省略,直接输入即可运行。
Python 是一种结构清晰地编程语言,使用 缩进 的方式表示程序的嵌套关系。
Python 具有简洁性、可扩展性、解释性等。
Python 的哲学就是简单优雅!尽量写容易看明白的代码和少的代码。
Python 内置函数
Python 解释器提供了68个内置函数,不需要关键字 import 导入就可以直接使用。下面介绍一些常用的内置函数。
| 函数 | 作用 |
|---|---|
| abs(x) | 求 x 的绝对值,如果 x 为复数,则返回复数的模。 |
| all(x) | 组合类型变量 x 中所有元素均为真时返回 True ,否则返回 False 。若 x 为空,则返回 True。 |
| any(x) | 组合类型变量 x 中有一个元素为真时返回 True ,否则返回 False 。若 x 为空,则返回 False。 |
| ascii(object) | 返回一个字符串对象,如果参数中有非 ascii 字符则用 \u、\v、\x来替代。 |
| bin(x) | 将整数 x 转换为等值的二进制字符串。 |
| bool(x) | 将 x 转换为布尔型。 |
| chr(int) | 返回 Unicode 为 int 的字符。 |
| ord(str) | 转换 ASCI 字符为相应的数字 |
| complex(r,i) | 创建一个复数,其中虚部 i 可以省略。 |
| dict() | 创建字典类型 |
| divmod(a,b) | 返回 a 和 b 的商和余数 |
| rand(a,b,s) | 输出一个范围为 [ a , b ) ,步长为 s 的序列 |
| set() | 将组合类型转换为集合类型 |
| round() | 四舍五入计算 |
| exec(s) | 计算字符串 s 作为 Python语句的值。 |
| max() | 返回参数的最大值 |
| min() | 返回参数的最小值 |
| sum() | 对组合类型求各元素的和 |
| type() | 返回变量的数据类型 |
| pow(a,b,c) | 当第三个参数 c 省略时,返回 a 的 b 次方;当 c 存在时,返回值等于 pow(a,b)%c |
print(chr(64))
print(ord('A'))
print(ord('a'))
>>>@
65
97
print(dict())
print(dict(python = 1))
>>>{}
{'python': 1}
print(divmod(45, 3))
print(divmod(10, 3))
>>>(15, 0)
(3, 1)
print(round(12.3))
print(round(12.5))
print(round(12.6))
print(round(13.5))
>>>12
12
13
14
exec('a = 12 + 5')
print(a)
>>>17
print(pow(8,2))
print(pow(8,2,5))
>>>64
4
赋值
同时给多个变量赋值
x,y,z = 0,1,2
print(x,y,z)
输出结果:
0 1 2
也可以利用列表给多个变量赋值:
a,b,c = [1,2,5]
print(a)
print(b)
print(c)
>>>1
2
5
结合输入函数的一种比较高级的赋值方法:
a, b, c = [eval(x) for x in input('请输入以逗号分隔的三个数字:').split(',')]
print(a,b,c)
>>>请输入以逗号分隔的三个数字:1,3,5
1 3 5
常量
python常常使用全部大写的命名来指出将某个变量视为常量,意味着它的值始终不变。
MAX_CONNECTIONS = 5000
标识符的命名
标识符就是程序员自己规定的具有特定含义的词,例如变量名、函数名等。
Python 采用大写字母、小写字母、数字、下划线及汉字等字符及其组合进行命名,需要注意:
1.标识符开头不能是数字
2.标识符中间不能出现空格和@符号
3.标识符名字不能与关键字(保留字)同名
4.标识符字符大小写敏感
5.不要在开头和结尾都使用下划线,因为 Python 中大量采用这种方法定义各种特殊变量和方法
基本输入/输出函数
(1) 输入函数:input()
不管用户输入什么信息,该函数一律将其视为字符串。
(2) 输出函数:print( <输出值> , sep = ‘’ , end = ’ \n’ )
该函数可以将若干个输出值转换为字符串并输出,值与值之间以 sep 分隔,最后以 end 结束。sep 默认为空格符,end 默认为换行符。
a = 12
b = 34
c = 56
print(a, b, c, sep = '+', end = '-') # sep 代表变量间以什么作为间隔
print(a, b, c) # sep 默认为空格符,end 默认为换行符
print(a)
输出结果:
12+34+56-12 34 56
12
(3) eval() 函数
作用:去掉字符串最外侧的引号,并按照 Python 语句执行方式执行引号内的内容。
eval('3 + 5')
>>>8
eval("'3 + 5'")
>>>'3 + 5'
n = 3
eval('n**2')
>>>9
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))
>>><class 'str'>
b = eval(a)
print(type(b))
print(b)
>>><class 'list'>
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
注意以下这些不能用 eval() :
eval('abc')
>>> NameError Traceback (most recent call last)
<ipython-input-22-7dba3a690e75> in <module>
----> 1 eval('abc')
<string> in <module>
NameError: name 'abc' is not defined
eval(1234)
>>>TypeError Traceback (most recent call last)
<ipython-input-22-a33cd6e81346> in <module>
----> 1 eval(1234)
TypeError: eval() arg 1 must be a string, bytes or code object
eval()括号里面必须是字符串、字节或代码对象!!!!不能为数字!!
基本数据类型
Python 的基本数据类型有 数字类型 和 字符串类型 两种。
数字类型有 3 种:整数(int)、浮点数(float)、复数(complex)
使用内置函数 type(object) 可以返回 object 的数据类型。
print(type(-88.2))
print(type(556))
print(type(4 + 5j))
>>> <class 'float'>
<class 'int'>
<class 'complex'>
整数
整数类型支持 4 种进制表示方式:二进制(前缀 0b/0B)、八进制(前缀 0o/0O)、十进制(无前缀)、十六进制(前缀 0x/0X)。
其中十进制是默认的方式,而其他三种进制需要加括号里面的前缀方可表示,前缀第一个是数字 0 ,第二个是字母。其中十六进制需要用 A ~ F 表示 10 ~ 15。
>>> x = 0b1010
>>> x
10
>>> y = 0o111
>>> y
73
>>> z = 0x254
>>> z
596
R 进制数转为十进制数
R 进制数转为十进制数的方法是“按权展开”,具体如下:
二进制 0b1010 = 0 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 1 * 2 ^ 3 = 10
八进制 0o111 = 1 * 8 ^ 0 + 1 * 8 ^ 1 + 1 * 8 ^ 2 = 73
十六进制 0x254 = 4 * 16 ^ 0 + 5 * 16 ^ 1 + 2 * 16 ^ 2 = 596
浮点数
浮点数是带有小数部分的数字。Python中浮点数存在范围的限制。
无论哪种运算(如+,-,/,*,**等),只要其中有一个操作数是浮点数,python默认得到的结果总是浮点数。
复数
复数表示为 a + b j ,其中 a 是实部, b 是虚部。
属性 real 和 imag 可以查看复数的实部和虚部。
print(3 + 7j)
print((3 + 7j).real)
print((3 + 7j).imag)
>>>(3+7j)
3.0
7.0
数据类型转换
| 函数 | 描述 |
|---|---|
| int(x,base=10) | 将 x 转换为一个整数(其中base默认为10,表示把当前数x当成base进制的数,并转换为10进制数) |
| float(x) | 将 x 转换为一个浮点数 |
| complex(x) | 将 x 转为一个复数,实部为 x ,虚部为 0 |
| complex(x,y) | 转换为一个实部为 x ,虚部为 y 的复数 |
组合数据类型
最常用的组合数据类型有三大类,分别是集合类型、序列类型和映射类型。
序列类型包括字符串类型、列表类型和元组类型。
字典类型属于映射类型。
python之禅
“python之禅”是有关编写优秀python代码的指导原则(新手可以看看!)
import this
输出结果:
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
本文详细介绍了Python语言的基础知识,包括其特点、内置函数、赋值、常量、标识符命名规则、基本输入/输出函数、数据类型(整数、浮点数、复数)及其转换,以及组合数据类型的概念。通过学习,你可以掌握Python编程的基本要素。
344

被折叠的 条评论
为什么被折叠?



