基本数据类型和运算符

一、多行注释和单行注释

"""
多行注释
多行注释
多行注释
"""

# 单行注释
# print('hello world')
# print('hello world')

二、输入与输出

1、接收用户输入

name = input('请输入你的用户名: ') 
print(name)


2、格式化输出
name = input('username>>> ')
age = input('age>>> ')

print('my name is xxx my age is xxx')
print('my name is '+ name +' my age is ' + age)
print('my name is %s my age is %s' %(name, age))

%d 只能接收数字
print('my age is %d' %10)
print('my age is %d' %'aaaa')
print('my age is %d' %10.1)

print('my age is %s' %'aaa')
print('my age is %s' %10)
print('my age is %s' %['a', 1])



了解的知识:
在python3中只有一个input:input会将用户输入的任何内容都存成字符串类型
x=input('>>>>: ')   x='[1, 2, 3]'
print(x,type(x))

在python2中有两种接收用户输入的机制
raw_input:等同于python3的input
input:要求输入者必须输入的一个明确的数据类型,输入什么类型就存成什么类型
 

三、基本数据类型(*****)

为何区分数据类型:

数据类型值的是变量值的类型,变量值之所区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用同类型的值去记录它们。

1、数字类型

整形int

①作用:记录年龄、等级、数量

②定义:age=18

③使用:数学运算和比较运算

print(10>3print(10/3print(10+3)

浮点型fioat

①作用:记录薪资、体重、身高

②定义:salary=2.1

③使用:数学运算和比较运算

print(3.1 + 2.1print(3.1 > 2.1print(3.1 > 2)

 

2、字符串类型str

①作用:记录描述性质的状态

②定义:在单引号、双引号、三引号中包含一系列的字符。name=‘egon’

③使用:

msg='my name is "egon"'print(msg)

+ 拼接字符串

x = 'hello'
y = 'world'
print(x+y)

注意:字符串只能和字符串相加

3、列表类型list

①作用:按照位置记录多个值(索引对应值,索引从0开始,代表的就是位置),并且可以取出指定位置的某一个值

②定义:在[]内用逗号分隔开多个任意类型的值

l=[100, 3.2, 'aaa', ['a', 'b', ['d', 'e']]]
print(type(l))

③使用:

l=[100, 3.2, 'aaa', ['a', 'b', ['d', 'e']]]
print(l[0])
print(l[1])
print(l[2])
print(l[3][0])
print(l[3][1])
print(l[3][3][0])
students_info=[['egon', 18, ['play']], ['alex', 18, ['play', 'sleep']]]
取出第一个学生的第一个爱好

解答:
步骤一 print(students_info[0])
步骤二 print(student_info[0][2])
步骤三 print(student_info[0][2][0])

结果为:print(student_info[0][2][0])

 

4、字典类型dict

①作用:记录多个不同属性的值

②定义:在{}内用逗号分开个多个元素,每一个元素都由key:value组成。value就是我们存放的值,可以是任意类型。一个key唯一对应一个value,key应该对value有描述性的功能,所以key通常是str类型。

dic={'name':'egon', 'age':18, 'gender':'male'}
print(type(dic))

③使用:

print(dic['name'])
print(dic['age'])
emp_info=['egon', 18, 10, 'male', 1.81]
取出性别

解答:
步骤一:print(emp_info[0])
步骤二:print(emp_info[1])
步骤三:print(emp_info[2])
步骤四:print(emp_info[3])

结果为:print(emp_info[3])
info=['egon', 18, 'male']
print(info[0])
print(info[1])
print(info[2])
info={'name':'egon', 'age':18, 'gender':'male'}

列表类型和字典类型的比较:

相同点:都可以存多个值

不同点:列表是索引对应值,索引代表的是顺序,位置,所以列表是有序的

              字典是key:value对应值。key对值有描述性质的功能,所以字典是无序的

 

5、布尔类型bool:True、False

①作用:用于判断

②定义:

x=True
y=False

print(type(x))
print(type(y))
print(10 > 11)
print(10 == 10)

强调:所有的数值都自带布尔值,其中0、None、空布尔值为False,其余都为True

③使用:

if []:
     print('ok')
else:
     print('error')

四、运算符类型(*****)

1、算数运算符

print(10 / 3)
print(10 // 3)
print(10 % 3)
print(10 ** 2)

2、比较运算符

print(10 == 10)
print(10 != 10)
print(10 > 3)
print(10 < 3)
print(10 >= 10)
print('egon' == 'egon')


了解的知识:
x='abcdef'
y='abcz'
print(x > y)

l1=[2, 'abc', 3]
l2=[2, '3']
print(l2 > l1)

3、赋值运算符

①增量赋值

age = 18
age += 1  
print(age)
age -=1 
print(age)

②交叉赋值

x = 11
y = 22
x, y = y, x
print(x, y)  # 22 11

③链式赋值

x = y = z = 100
print(x, y, z)   # 100 100 100

④解压赋值

# 等号左边的变量名必须与右面所包含的值一一对应
l = ['a', 'b', 'c', 'd', 'e']
x, y, z, m, n = l
print(x, y, z, m, n)  # a b c d e
x, y, *_, z = l
print(x, y, z)     # a b e



l = ['a', 'b', 'c', 'd', 'e']
x, y, *_ = l
print(_)         # ['c', 'd', 'e']

4、逻辑运算符

and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True
print(10 < 3 and 3 == 3)
print(10 > 3 and 3 == 3 and 1 == 1 and 1 > 0)

or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True
print(10 < 3 or 1 == 1)
print(10 < 3 or 1 == 1 or 10 < 11 or 1!= 1 or 'a' != 'a')

not:取反
print(not 10 > 3)

res=(10 > 3 and 'egon' != 'egon') or ((1 < 3 and 4 >= 3) or (not 8 > 3))
print(res)

5、身份运算符

①==:判断的是值是否相等

②is:判断的是id是否相等

①值相等,id可以不同
>>> x='info:egon:18:male'
>>> y='info:egon:18:male'
>>> id(x),id(y)
(2924120923496, 2924120923568)
>>> x == y
True
>>> x is y
False
# 在内存里申请一个空间把'info:egon:18:male放进去,绑定给变量名x。
# 然后又在内存里申请了一个新的空间把info:egon:18:male放进去,绑定给变量名y
# id是变量名在内存空间的唯一标识。很显然,两个id不同


②id相同,值一定相同
>>> x=10
>>> x=y
>>> id(x)
2924120923568
>>> id(y)
2924120923568
>>>
>>> x is y
True
>>> x == y
True

# 在内存里申请一个空间把10放进去,绑定给变量名x。
# 然后又在内存里把10这个值绑定给变量名y
# id是变量名在内存空间的唯一标识。很显然,x,y是同一个地址
# 它们的id就相同,所以他们的值也是相同的。
 
原文地址:https://www.cnblogs.com/zhangguosheng1121/p/10567025.html