python的基础

变量

变量: 可变化的量

变量名: 相当于变量值的门牌号,可以通过它获取变量的值。
= : 用于将 变量名与变量值 绑定关系的。
变量值: 变量值,是真实存放在内存中的数据。

例如:

name1 = 'tank'

name2 = 'Egon'

print(name1)

print(name2)

 

Python八大数据类型

注意: Python是一门动态语言,当我们在定义变量时,
判断你编写代码的类型,自动调用对应的类,得到对应类型的变量。

- Python中一切皆对象。

①- int: 整型
    - 一般用于存放身份证ID、手机号、学院编号的值
- long(了解): 长整型,在Python已经将int 与 long 合并了。
例如:
phone_number1 = 123456  # phone_number = int(123456)
phone_number2 = int(123456)
stu_number1 = 1 # stu_number = int(1)
stu_number2 = int(1)

type(): 用于查看变量的类型
注意: 若想瞬间注释所有代码: 先选中需要注释的代码,然后 按 ctrl + / 实现。
 例如:
print(type(stu_number1), type(stu_number2))
②- float: 浮点型
    - 薪资、身高、体重
例如:
sal = 3.0  # 只要写的是小数,则会自动调用float()
height1 = 1.80 # height = float(1.80)
height2 = float(1.80)
print('height1', type(height1), 'height2', type(height2))
weight = 50
③- bool: 布尔类型
    - 用于表示
        - 真
        - 假
    - 一般通过表达式的判断,返回来的结果
        - 条件成立返回True,否则返回False

 例如:

print(1 == 2)  # False
print(2 == 2) # True
④- str: 字符串类型
    - 注意: 字符串,必须要有引号
        - 单引号:   'tank'
        - 双引号:   "刘灿"
        - 三引号:   ''''''
    - 姓名、家庭住址、作文...

 例如:

name1 = '李一'  # name1 = str('李一')
name2 = "张三" # name2 = str("张三")
name3 = '''李四''' # name3 = str('''李四''')
name4 = """王五""" # name4 = str("""王五""")
print(type(name1), name1)
print(type(name2), name2)
print(type(name3), name3)
print(type(name4), name4)
⑤- list: 列表类型
    - 以 中括号 [] 表示, 括号内可以存放多个值,
    每个值都以 逗号 隔开,每个值可以是任意类型的值。
列表的索引: 列表是用于存放多个值,但存不是目的,目的是为了将值取出来使用。
 例如:
list1 = [100, 2.0, 'tank', ['play ball', 'book', 'music']]
列表取值: list1[索引]
print(list1[2]) # tank
获取所有爱好
print(list1[3]) # ['play ball', 'book', 'music']
获取music爱好
print(list1[3][2]) # ['play ball', 'book', 'music']
⑥- dict: 字典类型
    - 在 大括号 {} 内, 可以存放多个值,
    每个值都是以 key:value 的形式存储,
    每个值以逗号隔开。

    注意:
        - key: 必须是字符串类型。
        - value: 可以是任意类型
例如:
user_info = {'name': 'tank', 'age': 17, 'sex': 'male'}
字典取值: 字典的取值,是通过key来获取对应value的值
方式1: 在 字典后通过中括号取值,括号内写 存在字典中的key获取
          伪代码: 若key不存在,则报错
例如:
print(user_info['name']) # 'tank'
print(user_info['sex']) # 'male'
方式2: 字典.get(key) 方式取值
 例如:
print(user_info.get('name'))  # tank
          若key不存在,则返回None, 不会报错,保证程序正常
 例如:
print(user_info.get('name2'))  # None

 

⑦- tuple: 元组类型
    - 以 中括号 () 表示, 括号内可以存放多个值,
    每个值都以 逗号 隔开,每个值可以是任意类型的值。

    - 元组只能存一次值一次,不能反复存值。
        - 一般用于取值
 例如:
tuple1 = ('高希雅', 18, 'female')
print(tuple1[2]) # female
⑧- set: 集合类型
    - 无序集合: (默认自带去重功能。)
    在大括号中可以存放多个值,每个值以 逗号 隔开。
    与字典不一样的是,字典是每个值 以 key:value 的形式存储。

 例如:

set1 = {1, 2, 3, 4, 4, 5, 5}
print(set1) # {1, 2, 3, 4, 5}

 

数据类型的内置方法

字符串的内置方法:
    - 查看字符串的长度: len('字符串') ---> 可以查看 字符串、列表、元组、集合的长度
    - 1)str.strip() ---> 根据指定字符,去重字符串两边的字符
    - 2)str.split() ---> 对字符串进行切割,以某个特定的字符串作为分隔点
    - 3)str.startswith()  ---> 判断字符串开否的值
    - 4)str.endswith() ---> 判断字符串结尾的值
    - 5)str.join() ---> 字符串拼接
例如:
str1 = 'Lift is short, I need Python!  '
print(len(str1))
1) 去除str1字符串中左右两边的空格
例如:
str2 = str1.strip()
print(str2, len(str2))

2) 根据 逗号 对str1字符串进行切割
根据逗号,对str1的值进行切割,有几个逗号就会切割几份,然后扔进列表中并返回
例如:
str3 = str1.split(',')
print(str3)  # ['  Lift is short', ' I need Python!  ']

3)判断str1字符串开头是否是Lift
若成立则返回True,否则返回False
例如:
print(str1.startswith('Lift'))  # True
判断str1开否是否是Python
例如:
print(str1.startswith('Python'))  # False

4)判断str1字符串结尾是否是 空格
例如:
print(str1.endswith('  '))  # True
print(str1.endswith('Python'))  # False

5) 字符串的拼接
例如:
name1 = '张全蛋'
doing = 'love'
name2 = '李春花'

字符串拼接: 字符串相加即可拼接字符串,但是拼接速度极低。
例如:
str5 = name1 + doing + name2
print(str5)  # 张全蛋love李春花

join: 需要传入一个列表或元组,join会将里面所有的字符串取出来并拼接
例如:
str6 = ''.join([name1, doing, name2])
print(str6)

注意: 字符串不能与数字类型相加, 否则会报错
例如:
str7 = ''.join([name1, doing, name2, 100])

 

列表的内置方法:
    - list.append()  ---> 给列表末尾追加一个值
    - list.pop() 相当于删除列表中的值 ---> 从列表中取值,默认从末尾取, 原列表中的值删除。
        - 默认: pop(-1)  # 从列表末尾取一个值
        - 自定义: pop(0)  # 从列表开头第一个值取, 根据索引取值
例如:
list1 = [1, 2, 3, 4]

给list1列表添加一个 值为 5
例如:
list1.append(5)
print(list1)  # [1, 2, 3, 4, 5]

# 从list1中取出一个值
例如:
list1.pop()
print(list1)  # [1, 2, 3, 4]
list1.pop(0)  # 按照索引取值
print(list1)

字典的内置方法:
    - dict.get(key)  # 根据key,取出对应的值
    - dict.update(字典)  # 字典的拼接
    配合for循环使用
        - dict.keys()  # 获取字典中所有的key
        - dict.values()  # 获取字典中所有的value
        - dict.items()  # 获取字典中的每一个值
例如:
dict1 = {'name': '白六', 'age': 25, 'sex': 'male'}
print(dict1.get('name'))  #白六
dict2 = {'hobbies': ['唱歌', '开车', '打球']}
print(dict1)
print(dict2)

# 将dict1与dict2合并到一起, 将dict2合并到dict1字典中
例如:
dict1.update(dict2)
print(dict1)

获取dict1中所有的key
例如:
print('=' * 100, 'key值')
print(dict1.keys())  # 默认返回的是生成器对象
获取取出每一个key值并打印
例如:
for key in dict1.keys():
    print(key)

获取dict1中所有的value
例如:
print('=' * 100, 'value值')
print(dict1.values())
for value in dict1.values():
    print(value)

获取dict1中所有的 键值对 key:value
例如:
print('=' * 100, 'items值')
print(dict1.items())
for item in dict1.items():
    print(item)  # ('name', '曹七 ')
for key, value in dict1.items():
    print(key, value)  # key, value = ('name', '曹七')
 

 

赋值方式

解压赋值: 可以将列表、元组、或集合中的值,解压分别赋值给对应个数的变量名。
     接收解压后值的个数若不对应,则会报错
          例如:hobbies=["a","b","c",[1,2,"hello"]] 
                a1,a2,a3,a4=hobbies 
                print(a1,a2,a3,a4)    结果:a b c [1, 2, 'hello']
交叉赋值:
          例如:m=1000 
                n=2000
                m,n=n,m 
                print(m,n)  结果:2000 1000
链式赋值:

         例如:a=b=1

               Print(a)

               Print(b)    结果: 1   1

 

程序与用户交互

例如:
user_input = input('提示用户输入的内容:')
print(user_input)

 

 

流程控制:
   
- if ... elif ... else
        语法:
            if 条件判断:
                # 若条件成立,执行此处
            elif 条件判断:
                # 若if判断不成则判断elif的条件
                # 若条件成立,执行此处

            else:
                # 若if 或者 elif 的条件都不成立
                # 则执行else下的代码

    - 循环:
        - while
            语法:
                while 条件判断:
                    # 条件成立,则执行代码,
                    # 否则,不执行

                    # 当循环体内,遇到break则退出循环
                    break

        - for
            语法:
                for line in 列表/元组/字典:
                    print(line)

                # 循环10次
                for line in range(10): range(10)--->(0,1,2...9)
                    print(line)  # 0—9的值

 

# if
x = 100
y = 200

判断两个值的大小
# if False:
if x > y:  # 条件成立,返回True,否则返回False
    print('x1:', x)  # 100
elif x < 90:
    print('x2:', x, '小于250...')
else:
    print('y1:', y)

# 打印1—10的数
number = 1
while number < 11:
    print(number)
    number += 1

    # 当number == 7时则退出循环
    if number == 7:
        break

print('=' * 100, 'for循环')
for line in range(10):
    print(line)

 

 

格式化输出:
    - 三种方式:
        - 1) 通过占位符实现:
            %s: 可以在字符串中占位,用于替换任意类型的值。
            %d: 可以在字符串中占位,用于替换数字类型的值。

        - 2)通过字符串的内置方法
            str.format()

        - 3) 通过新的语法 f'' 实现
         
1)   方式一
str1 = 'name is %s, age is %s!' % ('tank', 17)
print(str1)  # name is tank, age is 17!
# %d必须是数字类型,否则报错
str_2 = 'name is %s, age is %d!' % ('tank', 17)
print(str_2)

2)   方式二: 三种形式
name = input('请输入您的名字: ')
age = input('请输入您的年龄:')
形式1:
str2 = 'name is {}, age is {}!'.format(name, age)
print(str2)

形式2:
str3 = 'name is {0}, age is {1}!'.format(name, age)  # [name, age]
print(str3)

形式3:
str4 = 'name is {x}, age is {y}!'.format(x=name, y=age)  # x = name, y = age
print(str4)

3) 方式二: f'' 新语法, 在Python3.5以后才出现,如果接触版本是老版本不允许使用。
str5 =f 'name is {name}, age is {age}!'
print(str5)

 

posted @ 2020-05-18 21:37  happy*  阅读(127)  评论(0)    收藏  举报