003.python基础知识2

一、基本数据类型

(一)数字类型

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

推荐用()区分优先级,方便查看结果。

原文地址:https://www.cnblogs.com/huluhuluwa/p/13039955.html