Python
(英语发音:/ˈpaɪθən/
), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum
于1989年发明,第一个公开发行版发行于1991年。
Python
是纯粹的自由软件, 源代码和解释器CPython
遵循 GPL(GNU General Public License)
协议 。
- Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进
Python
是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言
Python
是交互式语言: 这意味着,您可以在一个Python
提示符,直接互动执行写你的程序
Python
是面向对象语言: 这意味着Python
支持面向对象的风格或代码封装在对象的编程技术
Python
是初学者的语言:Python
对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏
Mac系统下搭建Python
环境
- 首先到Python官网 下载安装最新版本的
Python
, 安装比较无脑,一路按下去就OK
- 安装
Python
开发软件, 推荐两款开发软件Pycharm
和Sublime Text
, 这里只介绍Pycharm
的安装和破解方法
Python
的开发环境和开发软件都搞定之后,下面我们就来看看Python
的基本语法吧
- 测试代码详见 GitHub地址
基本语法
输出格式
Python
的输出语法和Swift
的输出一样
注释
python
中单行注释采用 # 开头。
python
中多行注释使用三个单引号 '''
或三个双引号 """
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
''' 这是多行注释,使用单引号。 这是多行注释,使用单引号。 这是多行注释,使用单引号。 '''
""" 这是多行注释,使用双引号。 这是多行注释,使用双引号。 这是多行注释,使用双引号。 """
|
变量
Python
中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
1 2 3
| counter = 100 miles = 1000.0 name = "John"
|
Python允许你同时为多个变量赋值, 也可以为多个对象指定多个变量。例如:
1 2 3 4
| a = b = c = 1
a, b, c = 1, 2, "jun"
|
标准数据类型
Python
有五个标准的数据类型:
Numbers
(数字)
String
(字符串)
List
(列表)
Tuple
(元组)
Dictionary
(字典)
Numbers
(数字)
Number
是不可被改变的数据类型, 当你指定一个值时,Number
对象就会被创建
Python
支持四种不同的数值类型:
int
(有符号整型)
long
(长整型[也可以代表八进制和十六进制])
float
(浮点型)
complex
(复数)
- 复数: 和数学中的复数含义一样, 复数由实数部分和虚数部分构成,可以用
a + bj
, 或者complex(a, b)
表示, 复数的实部a和虚部b都是浮点型
int |
long |
float |
complex |
10 |
51924361L |
0.0 |
3.14j |
100 |
-0x19323L |
15.20 |
45.j |
-786 |
0122L |
-21.9 |
9.322e-36j |
080 |
0xDEFABCECBDAECBFBAEl |
32.3+e18 |
.876j |
-0490 |
535633629843L |
-90. |
-.6545+0J |
-0x260 |
-052318172735L |
-32.54e100 |
3e+26J |
0x69 |
-4721885298529L |
70.2-E12 |
4.53e-7j |
Python
字符串
- 字符串或串(String)是由数字、字母、下划线组成的一串字符
- 和
Swift
中的字符串一样, 每一个字符都有一个与之对应的索引
python
的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
- 获取某一部分字符串的格式: [头下标:尾下标]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| str = 'Hello Python'
print("完整字符串--" + str)
print("第一个字符--" + str[0])
print("第3-7个字符--" + str[2:6])
print("第2个开始的所有字符--" + str[1:])
print("拼接--" + str)
print(str * 3)
print("最后一个字符--" + str[-1])
print("倒数第二个字符--" + str[-2])
|
下面是以上语法的输出结果
1 2 3 4 5 6 7 8 9 10
| /* 完整字符串--Hello Python 第一个字符--H 第3-7个字符--llo 第2个开始的所有字符--ello Python 拼接--Hello Python Hello PythonHello PythonHello Python 最后一个字符--n 倒数第二个字符--o */
|
List(列表)
List
(列表) 是 Python
中使用最频繁的数据类型, 和C
语言中的数组一样, 语法操作和上述字符串类似
- 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
- 列表用
[ ]
标识。是python
最通用的复合数据类型
- 列表中的值得分割也可以用到变量[头下标:尾下标],就可以截取相应的列表
- 从左到右索引默认0开始的
- 从右到左索引默认-1开始
- 下标可以为空表示取到头或尾。
- 加号(+)是列表连接运算符,星号(*)是重复操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| list1 = [12, 34, 3.14, 5.3, 'titan'] list2 = [10, 'jun']
print(list1)
print(list1[0])
print(list1[1:2])
print(list1[2:])
print(list1[-1])
print(list1[-2])
print(list1[-3:-1])
print(list1 + list2)
print(list2 * 2)
|
上述语句输出结果如下
1 2 3 4 5 6 7 8 9
| [12, 34, 3.14, 5.3, 'titan'] 12 [34] [3.14, 5.3, 'titan'] titan 5.3 [3.14, 5.3] [12, 34, 3.14, 5.3, 'titan', 10, 'jun'] [10, 'jun', 10, 'jun']
|
元组
- 元组是另一个数据类型(
Python
中的元组和Swift
中的元组类似)
- 元组用”()”标识。内部元素用逗号隔开
- 元素不能二次赋值,相当于只读列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| tuple1 = (12, 34, 3.14, 5.3, 'titan') tuple2 = (10, 'jun')
print(tuple1)
print(tuple1[0])
print(tuple1[2:3])
print(tuple1[2:])
print(tuple1[-1])
print(tuple1[-2])
print(tuple1[-3:-1])
print(tuple1 + tuple2)
print(tuple2 * 2)
|
输出结果
1 2 3 4 5 6 7 8 9
| (12, 34, 3.14, 5.3, 'titan') 12 (3.14,) (3.14, 5.3, 'titan') titan 5.3 (3.14, 5.3) (12, 34, 3.14, 5.3, 'titan', 10, 'jun') (10, 'jun', 10, 'jun')
|
这里注意下, 当截取某一范围的数据时, 类似[2:3], [-3:-1], 实际的取值范围是含左不含右, 等同于数学中的半开半闭区间(左闭右开)–[2, 3)
1 2 3 4
|
tuple2[0] = 20 tuple2[1] = "titan"
|
字典
- 字典(
dictionary
)是除列表以外python
之中最灵活的内置数据结构类型。
- 列表是有序的对象集合,字典是无序的对象集合。
- 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过索引存取。
- 字典用”{ }”标识。字典由索引(key)和它对应的值value组成
- 这里的字典的key值, 不仅仅可以用字符串, 还可以用
Number
类型
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| dict1 = {'name': 'jun', 'age': 18, 'score': 90.98} dict2 = {'name': 'titan'}
print(dict2)
dict2['name'] = 'brother' dict2['age'] = 20 dict2[3] = '完美' dict2[0.9] = 0.9 print(dict2)
print(dict1['score'])
print(dict1.keys())
print(dict1.values())
del dict1['name'] print(dict1)
dict1.clear() print(dict1)
dict3 = {2: 3} del dict3
|
上述语句的输出结果如下
1 2 3 4 5 6 7
| {'name': 'titan'} {'name': 'brother', 'age': 20, 3: '完美', 0.9: 0.9} 90.98 dict_keys(['name', 'age', 'score']) dict_values(['jun', 18, 90.98]) {'age': 18, 'score': 90.98} {}
|
集合
- 集合对象是由一组无序排列的值组成的序列,集合成员可以做字典中的键
- 集合
sets
有两种不同的类型:可变集合set
和不可变集合frozenset
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| s = {1, 2, 3, 4}
print(s)
myList = [1, 2, 3, 3, 4, 4, 4] mySet = set(myList) print(mySet)
mySet.add(2) print(mySet) mySet.add(6) print(mySet)
mySet.remove(2) print(mySet)
set1 = {1, 2, 4} set2 = {1, 2, 5, 6}
diff = set1.difference(set2) print(diff)
diff2 = set2.difference(set1) print(diff2)
inter = set1.intersection(set2) print(inter)
union1 = set1.union(set2) print(union1)
|
数据类型转换
- 有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
- 以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值
函数 |
描述 |
int(x) |
将x转换为一个整数 |
long(x) |
将x转换为一个长整数 |
float(x) |
将x转换到一个浮点数 |
complex(real [,imag]) |
创建一个复数 |
str(x) |
将对象 x 转换为字符串 |
repr(x) |
将对象 x 转换为表达式字符串 |
eval(str) |
用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) |
将序列 s 转换为一个元组 |
list(s) |
将序列 s 转换为一个列表 |
set(s) |
转换为可变集合 |
dict(d) |
创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) |
转换为不可变集合 |
chr(x) |
将一个整数转换为一个字符 |
unichr(x) |
将一个整数转换为Unicode字符 |
ord(x) |
将一个字符转换为它的整数值 |
hex(x) |
将一个整数转换为一个十六进制字符串 |
oct(x) |
将一个整数转换为一个八进制字符串 |
使用示例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| dic = {'name': 'jun', 'age': 18}
print(int(9.89)) print(int('9'))
print(complex(1, 2)) print(complex('3')) print(complex(-2, -4))
print(float(9)) print(float('12.45'))
print(str(9)) print(str(9.09)) print(str('89')) print(str(dic))
print(repr(9.09)) print(repr(9 + 10)) print(repr(dic))
print(eval('3*9')) print(eval("dic['age']*2"))
list7 = [1, 2, 3] print(tuple(list7))
tuple8 = ('a', 's', 'd') print(list(tuple8))
print(set(list7))
dic10 = dict([('name', 'titan'), ('age', 17)]) print(dic10)
print(frozenset({1, 2}))
print(chr(122))
print(ord('0'))
print(hex(10))
print(oct(10))
|
- 对于
Python
语言, 我也是小白, 正在努力学习中, 文中如有不足之处, 还望多多指教
- 测试代码详见 GitHub地址
- 后期会持续更新相关文章