文章目录
Python的下载和安装
下载:官网https://www.python.org/
下载之后傻瓜式安装就可以了
Python的使用
-
命令行启动python编译器
-
记事本编辑(脚本执行)
新建一个记事本文件,将后缀改成.py
右键—用python自带的IDE打开,编辑
点击run
print()函数
输出信息
print("*"*10) #输出10个*
print(" "+"hello") #字符串拼接
print(" ",end="") #取消换行
input()函数
键盘输入
一般与变量赋值一起使用,“=”表示赋值,“==”表示等于
name = input("请输入你的名字:") #input函数默认是输入字符串
print("欢迎"+name+"登录")
注意:python2的输入是raw_input()
type()函数
查看类型
a = input("请输入:")
print(type(a)) #判断a的类型并输出
>>> a = 111
>>> isinstance(a, int)
True
总结:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
int()函数
将字符串转换成整数
a = int(input("请输入:")) #将字符串转换为整数型
print(type(a)) #判断a的类型并输出
if判断语句
单分支:
name = input("请输入你的名字:")
if name=="bob":
print("yes") #子语句一定要缩进4个空格,条件成立执行
else:
print("no") #子语句一定要缩进4个空格,条件不成立执行
#逻辑运算符
and #并且
or #或者
not #条件取反
#条件运算符
== #判断是否相等
>= #大于等于
<= #小于等于
!= #不等于
> #大于
< #小于
多分支:
score = int(input("请输入:"))
if score>=60 and score<=100:
print("及格")
elif score<60 and score>=0:
print("不及格")
else:
print("请输入0-100的整数")
注意:子语句一定要缩进4个空格
Python的标识符
- 标识符由字母、数字、下划线组成。
- 所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
- 标识符是区分大小写的。
- 以下划线开头的标识符是有特殊意义的。以单下划线开头
_foo
的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。 - 以双下划线开头的
__foo
代表类的私有成员,以双下划线开头和结尾的__foo__
代表 Python 里特殊方法专用的标识,如__init__()
代表类的构造函数。
变量名称的定义(命名规范)
-
不能以数字开头
-
变量名称中不能包含特殊符号(_除外)
-
变量名称区分大小写
-
不能以关键字作为变量名
-
内建函数不能作为变量名
dir()函数
查看属性
六大标准数据类型
-
Numbers(数字)
- int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
- bool (布尔), 如 True。
- float (浮点数), 如 1.23、3E-2
- complex (复数), 如 1 + 2j、 1.1 + 2.2j
-
String(字符串)
-
List(列表)
-
Tuple(元组)
-
Set(集合)
-
Dictionary(字典)
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
变量赋值
Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 = 用来给变量赋值。
等号 = 运算符左边是一个变量名,等号 = 运算符右边是存储在变量中的值。
单变量赋值
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
print(counter)
print(miles)
print(name)
多变量赋值
a = b = c = 1 #创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
a, b, c = 1, 2, "john" #两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。
数字
1、一个变量可以通过赋值指向不同类型的对象。
2、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
3、在混合计算时,Python会把整型转换成为浮点数。
4、复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
>>> 5 + 4 # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7 # 乘法
21
>>> 2 / 4 # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
属性和函数
inta = 12
print(type(inta)) #查看类型
print("*****************************************************")
print(dir(inta)) #列出所有的属性
print("*****************************************************")
print(inta.__doc__) #调用这个属性
print("*****************************************************")
print(inta.bit_length()) #调用这个函数
help()函数
查看帮助信息
inta = 12
print(help(inta.bit_length))
bin()函数
将十进制转换成二进制数
inta = 12
print(bin(inta))
字符串string
python中单引号和双引号使用完全相同。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 索引取值(截取字符串)
astr = "python"
print(astr[0:2]) #变量[索引的起始位置:索引结束位置] 含头不含尾[0,2)
if "py" in astr: #in 表示指定字符串在变量中是否存在
print("yes")
astr = "python"
print(astr[0]) #取出单个字符
astr = "python"
print(astr[0:1000:1]) #变量[索引的起始位置:索引结束位置:步长值] 步长值就是一次走几步
print(astr[0:1000:2]) #索引结束位置不用担心索引越界
astr = "python"
print(astr[-1]) #反向取值,-1代表最后一个字母
astr = "python"
print(astr[-1:-4:-1]) #反向取值,步长值为负的 含头不含尾
astr = "python"
print(astr[:]) #正向取值简写(取字符串)
print(astr[::-1]) #反向取值简写(字符串反转)
总结:
1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
2、字符串可以用+运算符连接在一起,用*运算符重复。
3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
4、Python中的字符串不能改变。
- 属性和函数
stra = "Python"
print(type(stra))
print("*********************************")
print(dir(stra)) #列出属性
print("****************************************")
print(stra.lower()) #大写转小写
print(stra.upper()) #小写转大写
stra = "Python"
print(stra.split("t"))
列表list
1、List(列表) 是 Python 中使用最频繁的数据类型。
2、列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
3、列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
4、和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
5、索引值以 0 为开始值,-1 为从末尾的开始位置。
截取列表
alist = ["tom","jerry"]
print(alist[1])
改变元素
>>> a = [1, 2, 3, 4, 5, '6']
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, '6']
>>> a[2:5:2] = [1,3] # 将对应的元素值设置为 [1,3]
>>> a
[9, 2, 1, 14, 3, '6']
总结:
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。
元组tuple
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
相当于只读列表
atuple = ("lisa","sary")
print(atuple[1])
特殊规则:
tup1 = () # 空元组
总结:
1、与字符串一样,元组的元素不能修改。
2、元组也可以被索引和切片,方法一样。
3、注意构造包含 0 个元素的元组的特殊语法规则。
4、元组也可以使用+操作符进行拼接。
tup=(1,2,'ds',5)
print(tup.index("ds")) #获取指定元素的索引
集合set
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建集合的两种方式
- {}
sites = {'Google', 'Taobao', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
print(sites) # 输出集合,重复的元素被自动去掉
# 成员测试
if 'Runoob' in sites :
print('Runoob 在集合中')
else :
print('Runoob 不在集合中')
- set()
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(b)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
seta={11,‘sd’,22,33}
print(seta)
注意:
set集合是无序的,每次查看可能顺序都会不一样
字典dictionary
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
创建字典的方式
userdict = {"tom":"123","jerry":"456"}
username = input("请输入用户名:")
userpwd = input("请输入密码:")
if username in userdict and userpwd == userdict[username]:
print("欢迎"+username+"登录")
else :
print("请输入正确的用户名和密码")
dict = {} #空字典
dict['one'] = "哈哈哈"
dict[2] = "呵呵呵"
print(dict['one']) # 输出键为 'one' 的值
print(dict[2]) # 输出键为 2 的值
print (dict) # 输出完整的字典
print (dict.keys()) # 输出所有键
print (dict.values()) # 输出所有值
- dict()
>>> dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
>>> {x: x**2 for x in (2, 4, 6)} #for循环
{2: 4, 4: 16, 6: 36}
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
数据类型的转换
对数据内置的类型进行转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 作用 |
---|---|
int(x [,base]) | 将x转换为一个整数 (x – 字符串或数字,base表示进制数,默认是10) |
float(x) | 将x转换到一个浮点数(x – 整数或字符串) |
complex(real [,imag]) | 创建一个复数 (real – int, long, float或字符串;imag – int, long, float;) |
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) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |