Python 是一个高层次的结合了解释性、交互性和面向对象的脚本语言。解释型语言: 这意味着开发过程中没有了编译这个环节。作为解释型语言,意味着开发过程中没有了编译这个环节,对代码逐行解析。
Python还具有可嵌入性,如Python无法运行的代码可以使用C或C++完成程序,然后从的Python程序中调用。也提供了数据库接口和GUI编程。
Python作为解释性语言,内核时Python解析器,任何安装了解析器的系统都可以运行Python文件。
标识符
Python默认utf-8
编码,所有字符串都是 unicode 字符串。标识符
的第一个字符必须是字母表中字母或下划线’_'。标识符的其他的部分有字母、数字和下划线组成。标识符对大小写敏感。
Python保留字
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Python注释
#这是单行注释
"""
这是多行注释
这是多行注释
"""
'''
也可以用三个单引号来进行多行注释
'''
缩进
Python 使用缩进来表示代码块。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
基本数据类型
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
可变数据和不可变数据的“变”是相对于引用地址来说的,不是不能改变其数据,而是改变数据的时候会不会改变变量的引用地址。
数字:运算符+,-,* ,/ ,%
与其它语言一样括号 ()
用于分组,/
会保留小数部分,取而代之的是//
。**
运算符计算幂乘方 ,更高级计算需要引入数学计算库
字符:Python 也提供单引号'...'
或双引号"..."
标识字符。\
可以用来转义,也可以使用 原始字符串,方法是在第一个引号前面加上一个r
会原样输出
切片
# 要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串
str="qwertyuiop"
print(str[0:5])#qwert
类型判断
python可以用type函数来检查一个变量的类型:
type(name))
列表
列表List可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(也就是嵌套)。
列表用[ ]标识。是 Python 最通用的复合数据类型。
list1 = ['abc', 2, 2.32, 'john']
list2 = [123, 'john']
print(list1) ['abc', 2, 2.32, 'john']
print(list1[1]) 2
print(list1[1:4]) [2, 2.32, 'john']
print(list1[2:]) [2.32, 'john']
print(list2*2) [123, 'john', 123, 'john']
print(list1+list2) ['abc', 2, 2.32, 'john', 123, 'john']
元组
元组Tuple是另一个数据类型,类似于 List(列表)
元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表
tuple1 = ('abed', 789, 2.89, 'Bob', 15.8)
tinyTupl2 = (123, 'Tom')
print(tuple1) ('abed', 789, 2.89, 'Bob', 15.8)
print(tuple1[0]) abed
print(tuple1[1:3]) (789, 2.89)
print(tuple1[2:]) (2.89, 'Bob', 15.8)
print(tinyTupl2 * 2) (123, 'Tom', 123, 'Tom')
print(tuple1 + tinyTupl2) ('abed', 789, 2.89, 'Bob', 15.8, 123, 'Tom')
字典
字典 (dictionary) 是除列表以外 Python 之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取
字典用"{ }"标识。字典由索引 (key) 和它对应的值 value 组成
dict={}
dict['one']='This is Apple'
dict[2] = 'This is Bananan'
tindict = {'name': 'bob', 'age': 12, 'city': 'beijing'}
print(dict) {'one': 'This is Apple', 2: 'This is Bananan'}
print(dict['one']) This is Apple
print(tindict) {'name': 'bob', 'age': 12, 'city': 'beijing'}
print(tindict.keys()) dict_keys(['name', 'age', 'city'])
print(tindict.values()) dict_values(['bob', 12, 'beijing'])
数据类型转换
对数据内置的类型进行转换,只需要将数据类型作为函数名即可。
x='100'
print(int(x)) 转整数100
print(complex(1,5)) 转复数(1+5j)
print(repr(1+2)) 直接计算结果 3
list1=[1,'22','abc']
print(tuple(list1)) (1, '22', 'abc')
print(list(list1)) [1, '22', 'abc']
print(set(list1)) {1, 'abc', '22'}
print(frozenset(list1)) frozenset({1, 'abc', '22'})
tuple1=('a','abpp'),('mng','smnh'),(2,'nnn')
print(dict(tuple1)) {'a': 'abpp', 'mng': 'smnh', 2: 'nnn'}
#字符串转数据、元组、字典 等等
str1="[1,2,3,4]"
print(type(str1))
list1=eval(str1)
print(list1) [1, 2, 3, 4]
print(type(list1))
str2="{'name':'mky','age':33}"
dict1=eval(str2)
print(dict1) {'name': 'mky', 'age': 33}
print(type(dict1))
str3="(1,2,3)"
tuple2=eval(str3)
print(tuple2) (1, 2, 3)
print(type(tuple2))
输入输出流
input()
函数作为输入流,print()
函数作为输出流
name=input()
print(name)
变量
变量是存储在内存中的值。就是指针无关数据类型,解释器会分配指定大小的内存
# 等号(=)用来给变量赋值
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串# 多个对象指定多个变量
a, b, c = 1, 2, "john"
文本换行
使用+ \
起到多行连接的作用:
data="this " + \
"is " + \
"Tuesday"
print(data)
#this is Tuesday# 空格也会被视为字符