一、基本数据类型
(一)数字类型
python中有两种数据类型跟数字相关,可以统称为数字类型,可以进行数学运算以及比较运算,但仅限于数字类型之间进行。
1.整型int
作用:记录一些与整数相关的状态,如年龄、年份、个数等
定义:不包含小数点的纯数字,就是整型数字
2.浮点型float
作用:记录一些需要用到小数相关的状态,如薪资、身高、体重等。
定义:包含小数点的纯数字,就是整型数字
(二)字符串str
作用:对事物性质、状态的描述,比如名字、性别、消息等等。
定义:在双引号内、单引号内或三引号内(''''''、"""""")定义的单个或一组字符,称之为字符串。
使用:
>>> msg="一行白鹭上青天"
>>> print(msg,type(msg))
一行白鹭上青天 <class 'str'>
>>> msg5="""
aaa
bbbb
cccc
"""
>>> print(type(msg5))
<class 'str'>
注意:引号嵌套的使用,外层引号与内层引号不能相同。
>>> msg="my name is 'egon'"
>>> print(msg)
my name is 'egon'
了解:字符串类型也可以进行数学运算(字符串只能做+、*运算)以及比较运算,但仅限于字符串类型之间。
>>> print("abc"+" "+"def") # 字符串的相加是一个拼接操作,效率极低
abc def
>>> print("abc"*10)
abcabcabcabcabcabcabcabcabcabc
(三)列表list
特点:根据索引对应值,索引从零开始,倒序的索引从-1开始。
作用:按照顺序存放多个值,并且能够按顺序取出来单独的一个值。
定义:在[]内用逗号分隔开多个任意类型的值。
使用:
>>> egon_hobbies = ["play","music","read"]
# 0 1 2
# -3 -2 -1
>>> print(egon_hobbies[1])
music
>>> print(egon_hobbies[-1])
read
(四)字典dict
特点:根据key索引value。
作用:存放多个值,用key对应值,key通常为字符串类型。
定义:在{}内用逗号分隔开多个key:value,其中value可以是任意类型。
使用:
>>> info={"name":"egon","age":18,"gender":"male","hobbies":["play","music"]}
>>> print(info["name"])
egon
>>> print(info["age"])
18
>>> print(info["hobbies"][1])
music
(五)布尔类型bool
特点:只有两个值,True和False。
作用:布尔值用于条件判断。
定义:可以自己定义布尔值。
>>> tag=True
>>> print(tag,type(tag))
True <class 'bool'>
使用:通常是通过比较运算得到布尔值。
>>> print(10 > 3)
True
>>> print("egon" == "egon")
True
二、输入输出
(一)python3中input的使用
python3中input功能会把用户输入的任意内容都存成字符串类型
# 接收用户的输入
>>> inp_name=input("请输入您的账号名>>>: ") # "egon123*"
>>> print(inp_name,type(inp_name))
"egon123*" <class 'str'>
# 注意1:
# inp_age=input("请输入您的年龄>>>: ") # "18"
# inp_age=int(inp_age) # int会把纯数字的字符串转换成int型
# print(inp_age+1) # 不使用int转换是"18"+1,转换后是18+1
# 注意2:
# inp_pwd=input("请输入您的密码>>>: ") # "123"
# print(inp_pwd == 123) # "123" == 123
# print(inp_pwd == "123") # "123" == "123"
# 注意3:无论输啥,都存成字符串
>>> x=input(">>>: ") # "[1,2,3]"
>>> print(x,type(x))
[1,2,3] <class 'str'>
(二)了解:python2中的input使用
1.python2中raw_input功能与python3中的input功能一模一样
>>> x=raw_input(">>>:")
>>>:["aaa",222,"2k2"]
>>> print(x,type(x))
('["aaa",222,"2k2"]', <type 'str'>)
2.python2中input功能
>>> y=input("<<<:")
<<<:["111111111",222222222222]
>>> print(y,type(y))
(['111111111', 222222222222L], <type 'list'>)
(三)格式化输出
格式化输出 %s 占位符 应该接收字符串,实际可以接收任意值,转换成字符串
>>> print('login successfull') # login successfull
>>> name=input('your name: ') # your name: Ronaldo
>>> age=input('your age: ') # your age: 18
>>> print("my name is %s my age is %s" %(name,age))
my name is Ronaldo my age is 18
三、基本运算符
(一)算数运算符
算数运算符通常用于数字类型之间进行,但是+号和 * 比较特殊,+和* 可以用于其他类,但是仅限于同种类型直之间进行。
Python 常用算术运算符:
运算符 | 说明 | 实例 | 结果 |
---|---|---|---|
+ | 加 | 12.45 + 15 | 27.45 |
- | 减 | 4.56 - 0.26 | 4.3 |
* | 乘 | 5 * 3.6 | 18.0 |
/ | 除法(和数学中的规则一样) | 7 / 2 | 3.5 |
// | 整除(只保留商的整数部分) | 7 // 2 | 3 |
% | 取余,即返回除法的余数 | 7 % 2 | 1 |
/** | 幂运算/次方运算,即返回 x 的 y 次方 | 2 ** 4 | 16,即 24 |
了解:+ * 的特殊情况
>>> l1=[1,2,3]
>>> l2=[4,5,6]
>>> print(l1 + l2)
[1, 2, 3, 4, 5, 6]
>>> print(l1*3)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
(二)比较运算符
比较运算符通常用于数字之间进行。
>>> print(10 == 10)
True
>>> print(10 == "10")
False
>>> print(10 != "10")
True
了解:字符串也可以比较大小。
>>> print("abz" > "abcdef")
True
>>> l1=[1,'abc',18]
>>> l2=["a",'abc',18]
>>> l1 > l2 # 报错,对应位置的值必须是同种类型才可以
Traceback (most recent call last):
File "C:/Onedrive/文档/01学习资料/全栈15期正课/day03/代码day03/03 基本运算符.py", line 28, in <module>
l1 > l2
TypeError: '>' not supported between instances of 'int' and 'str'
>>> l1=[1,'abc',18,111,222,333]
>>> l2=[2,'abc',18]
>>> print(l2 > l1)
True
(三)赋值运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
(四)逻辑运算符
1.not
作用:把布尔值结果取反。
2.and
作用:用来链接左右两个条件,左右两个条件同时为True,最终结果才为True。
3.or
作用:用来链接左右两个条件,左右两个条件但凡有一个结果为True,最终结果就为True。
4.短路行为=》偷懒行为
当逻辑运算没有完成的情况下,已经知道了结果,则剩余部分不需要再进行计算,直接输出结果即可。
5.优先级:not > and > or
推荐用()区分优先级,方便查看结果。