python入门day04——基本数据类型、输入输出、基本运算符

一、基本数据类型

1、数字类型

1.1、整型int

        定义:age=10
        作用:记录个数、年龄、年份、等级、出生年

1.2浮点型float

        定义:x = 1.1
        作用:记录价格、身高、体重、薪资

数学运算与比较运算

age = 18

age = age + 1
print(age)  # 19

print(10 + 3.1)  # 13.1
print(10 * 3.1)  # 31.0
print(10 / 3.1)  # 3.225806451612903
print(10 > 3.1)  # True
print(10 == 3.1)  # False
print(10 >= 3.1)  # True

2、字符串类型str

        作用:记录描述性质的状态,比如名字、性别、一段话、地址、国籍
        定义:在' '、" "、""" """、''' '''内部包含一串字符
        (1)所有引号的相同点:定义得到的都是str类型
        (2)所有引号的不同点:注意引号的嵌套,外层用双引号内层就要用单引号...

s2 = 'i like "pubg"'
s1 = '你好hello 123'
print(len(s1))  # 11
print(s2)  # i like "pubg"

       三引号内的字符串可以写多行

msg = """
111
222
333
"""
print(msg)
print(len(msg))  # 每行后面都有换行符 所以有13个字符

       (3) 补充1:

# x = "a b"  # 有三个字符
# x = "aaa
bbb"  # 
换行
# print(x)
# x1 = "aaaaaaaaaaaaaaaaaaaaa" 
#      "aabbbbbb" 
#      "bbbb"
# print(x1)  #  不换行输出   代码界面看一行太长用来换行
# 输出结果:aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbb

       (3) 补充2:
       分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。
       Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。

filepath1 = "C:aaa
ew. txt "
filepath2 = "C:\aaa\new. txt"
filepath3 = r"C:aaa
ew. txt" # windows
filepath4 = "/Users/aaa/new.txt" # mac
print(filepath1)  # ew.txt
print(filepath2)  # C:aaa
ew.txt
print(filepath3)  # C:aaa
ew.txt
print(filepath4)  # /Users/aaa/new.txt

       (3) 补充3:/和的使用
              (1)浏览器地址栏网址使用 斜杆/
              (2)windows文件浏览器上使用 反斜杠
              (3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/
              (4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠是一样的;如果代表的是网络文件路径,则必须使用 斜杆/

3:列表类型list:索引对应值,索引反映的是位置

       定义:在[]内以逗号为分割符,按照从左到右的顺序一个一个地存放多个任意类型的值
       作用:按照顺序记录多个值,优点是可以按照索引取指定位置的值
       应用:同一个人的多个爱好、同一个班级的所有学校姓名、同一个人12个月的薪资等

l=[111,2.22,'aaa',[333,444]]
#   0    1    2       3
print(l[0]) # 111
print(l[3]) # [333, 444]
print(l[-1]) # 倒着取 [333, 444]
print(l[3][0]) # 333
infos = [
    ['sa', 18, 'male'],
    ['justin', 22, 'male'],
    ['tank', 31, 'femlale'],
]
print(infos[1][1]) # 22

4、字典类型dict

       与列表的相同之处:都可以存放多个任意类型的值
       与列表的不同之处:字典使用key对应值,key通常是字符串类型
       定义:在{}内以逗号为分割符,存放多个元素,每个元素都是由key:value组成
       其中value可以是任意类型,而key通常是字符串类型
       作用:按key:value记录多个值,优点是key对value有描述性的功能
       字典是无序的,一般有索引的是有序的

d = {
    'k1': 111,
    'k2': 222,
    'k3': 333
}
print(d['k1']) # 111
# 针对下述类型  取第二个学生的第二个爱好
students = [
    {'name': 'alex', 'age': 38, 'hobbies': ['play', 'sleep']},
    {'name': 'egon', 'age': 18, 'hobbies': ['read', 'sleep']},
    {'name': 'wupeiqi', 'age': 58, 'hobbies': ['music', 'read', 'sleep']},
]
print(students[1]['hobbies'][1]) # sleep

5、布尔类型True和False

       定义:tag = True
       作用:记录真假两种状态

x = 10
y = 12
print(x == y) # False
print(x > y) # False

二、输入输出

1、接收用户输入input

       python3中的input会将用户输入的内容都存成字符串str类型

db_name="sa"
inp_name=input("请输入您的用户名:")   # 输入"sa"
print(inp_name,type(inp_name))
print(inp_name == db_name )
# sa <class 'str'>
# True
inp_age = input('请输入您的年龄:')  # inp_age = '18'
inp_age = int(inp_age) # 纯数字的字符串转成int整型
print(type(inp_age)) # <class 'int'>
print(inp_age + 1) # 19

       在python2中:
       raw_input():用法与python3的input一模一样
       input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型

>>> age=input(">>>>>>>>>>>>>>>>>>>>>: ")
>>>>>>>>>>>>>>>>>>>>>: 18
>>> age,type(age)
(18, <type 'int'>)
>>>
>>> x=input(">>>>>>>>>>>>>>>>>>>>>: ")
>>>>>>>>>>>>>>>>>>>>>: 1.3
>>> x,type(x)
(1.3, <type 'float'>)
>>>
>>> x=input(">>>>>>>>>>>>>>>>>>>>>: ")
>>>>>>>>>>>>>>>>>>>>>: [1,2,3]
>>> x,type(x)
([1, 2, 3], <type 'list'>)
>>>

2、输出print

print("my name is %s my age is %s" % ("sa","18"))
print("my name is %s my age is %d" % ("sa1",18))
print("my name is %s my age is %s" % ("sa2",[1,2,3,]))
# my name is sa my age is 18
# my name is sa1 my age is 18
# my name is sa2 my age is [1, 2, 3]
print("1111",end=':')
print("2222")
# 输出结果 1111:2222
# ctrl/command 按住点击print 查看
# 因为print的代码里end自带
(换行),所以设置end:就是将
换成:
# 练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
# ------------ info of Egon -----------
# Name  : Egon
# Age   : 22
# Sex   : male
# Job   : Teacher
# ------------- end -----------------

# 方法一:
name = input('输入你的姓名:')
age = input('输入你的年龄:')
sex = input('输入你的性别:')
job = input('输入你的工作:')
hobbies = input('输入你的爱好:')
# print('{0:-^37}'.format(' info of %s ') %(name)) #让信息标题的名字随着你输入的名字改变
# print('Name:%s' %(name))
# print('Age:%s' %(age))
# print('Sex:%s' %(sex))
# print('Job:%s' %(job))
# print('Hobbies:%s' %(hobbies))
# print('{0:-^37}'.format(' end '))
#
# print('Name:%s
''Age:%s
''Sex:%s
''Job:%s
''Hobbies:%s
'
#       %(name,age,sex,job,hobbies)) # 将输出放到一起进行输出

# 方法二
msg ='''
------------ info of %s -----------
Name  : %s
Age   : %s
Sex   : %s
Job   : %s
Hobbies: %s
------------- end -----------------
'''%(name,name,age,sex,job,hobbies)
print(msg)

3、了解知识

       填充与格式化
       先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
       +<10:左对齐,总共10个字符,不够的用+号填充
       print('{0:+<10}'.format('开始执行')) # 开始执行++++++

       =>10:右对齐,总共10个字符,不够的用=号填充
       print('{0:=>10}'.format('开始执行')) # ======开始执行

       0^10:居中显示,总共10个字符,不够的用0号填充
       print('{0:0^10}'.format('开始执行')) # 000开始执行000

       精度与进制
       print('{salary:.3f}'.format(salary=1232132.12351)) #精确到小数点后3位,四舍五入,结果为:1232132.124
       print('{0:b}'.format(123)) # 转成二进制,结果为:1111011
       print('{0:o}'.format(9)) # 转成八进制,结果为:11
       print('{0:x}'.format(15)) # 转成十六进制,结果为:f
       print('{0:,}'.format(99812939393931)) # 千分位格式化,结果为:99,812,939,393,931

三、基本运算符

1、算数运算符

print(10+3) # 13
print(10-3) # 7
print(10*3) # 30
print(10/3) # 3.3333333333333335
print(10//3)  # 3 整除 地板除
print(10%3)  # 1 取余 取余数部分

       了解(* *) +号不仅可以数字和数字相加 还可以字符串和字符串 列表和列表相加

x = 'aaa'
y = 'bbb'
print(x + y) # aaabbb
print([1,2,3] + [4,5]) # [1, 2, 3, 4, 5]

x = 'aaa'*3
print(x) # aaaaaaaaa

2、比较运算符

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

        了解

s1 = 'abced'
s2 = 'az'
print(s2>s1) # True
# 字符串可以比大小 比较的是ASCII码 一个一个比 比出结果为止 比如a和a比不出 下一个b<z

s1 = [123,123]
s2 = [111]
print(s1 <s2) False


l1 = [1, 'abc', 3.1]
# l2 = [1, 2222, 3.1]
l2 = [1, "abb", 3.1]
print(l1 > l2) True
原文地址:https://www.cnblogs.com/liuxinging/p/13263004.html