风变编程python基础语法-第0关-千寻的名字

风变编程python基础语法-第0关-千寻的名字,第1张

风变编程python基础语法-第0关-千寻的名字

在众多编程语言中,像是C++ 、C、Java、Javascript ,而python像是新晋网红一样杀出重围,获得众多编程爱好者青睐 ,难道是python有什么特别的功能,与众不同的特点,使得如此多人为之向往。

编程语言好比一种工具,如果把它们比喻成刀,那么C++和C相当于尼泊尔军刀、武士刀这样的大砍刀,而Java 相当于小匕首短小精悍,Javascript相当于小剪刀用于修修补补剪裁改进这样的,而python更象一把电锯,杀伤力非常大,作用范围非常广,对对象编程的要求很低,这非常适合我这种暴力创作代码的码崽。

那根据风变编程的介绍呢,python的用途非常广,超级的强大,在以下几个领域比如:爬虫,数据分析,科学计算,自动化办公,自动化运维,网站开发,多媒体处理,机器学习,深度学习。我看到这些不是很清楚,但是我看到跟人工智能有关,就立马亮眼了,未来应该很热门。
在讲解完python可能的应用场景后,我还是在天马行空的想象之中,然后吴枫老师就开始show了,一顿秀,我当时没看懂的代码,看到request,应该是爬虫技术吧。

import requests
from aip import AipOcr

image = requests.get('https://res.pandateacher.com/python_classic.png').content

APP_ID = '16149264'
API_KEY = 'yxYg9r4OuAs4fYvfcl8tqCYd'
SECRET_KEY = 'yWg3KMds2muFsWs7MBSSFcgMQl8Wng4s'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
res = client.basicGeneral(image)
if 'words_result' in res.keys():
    for item in res['words_result']:
        print(item['words'])

else:
    APP_ID = '11756541'
    API_KEY = '2YhkLuyQGljPUYnmi1CFgxOP'
    SECRET_KEY = '4rrHe2BF828bI8bQy6bLlx1MelXqa8Z7'
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    res = client.basicGeneral(image)
    if 'words_result' in res.keys():
        for item in res['words_result']:
            print(item['words'])
    else:
        print(res)

import urllib.parse
import hashlib
import time
import random
import string
import requests
import sys
import readline

def curl_md5(src):
    m = hashlib.md5(src.encode('UTF-8'))
    # 将得到的MD5值所有字符转换成大写
    return m.hexdigest().upper()


"""
get_req_sign :根据 接口请求参数 和 应用密钥 计算 请求签名
参数说明
    -pa:接口请求参数
    -apk:应用密钥
返回数据
    -签名结果
"""


def get_req_sign(pa, apk):

    # 1.字典升序排序
    pa_list = list(pa.items())
    pa_list.sort()

    # 2.拼按URL键值对
    tem_str = ''
    for i in range(len(pa_list)):
        if pa_list[i][1]:
            tem_str += (pa_list[i][0] + '=' + urllib.parse.quote(pa_list[i][1]) + '&')

    # 3.拼接app_key
    tem_str += ('app_key=' + apk)

    # 4.MD5运算 + 转换大写,得到请求签名
    sign = curl_md5(tem_str)
    return sign


def get_params(plus_item):

    # 请求时间戳(秒级),用于防止请求重放(保证签名5分钟有效)
    t = time.time()
    time_stamp = str(int(t))
    # 请求随机字符串,用于保证签名不可预测
    nonce_str = ''.join(random.sample(string.ascii_letters + string.digits, 10))

    global se

    app_id = '2127007340'
    app_key = '9Fm2D9tkB4lEjZ89'
    params = {
        'app_id': app_id,
        'time_stamp': time_stamp,
        'nonce_str': nonce_str,
        'question': plus_item,
        'sign': '',
        'session': se
    }

    params['sign'] = get_req_sign(params, app_key)
    return params


def get_content(plus_item):
    # 聊天的API地址
    url = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat"
    # 获取请求参数
    plus_item = plus_item.encode('UTF-8')
    payload = get_params(plus_item)
    r = requests.post(url, data=payload)

    if r.json()["ret"] == 0:
        print('吴小枫:' + r.json()["data"]["answer"])
    else:
        print('今天我出了一点小问题~快联系助教帮忙解决一下~~')
        sys.exit()


feature_text = ['''
大家好!我是你的聊天机器人吴小枫。
我有问必答,有人会问我“今天深圳天气怎么样?”,也有人问我“你喜欢我吗?”
快来问我问题呀,欢迎来撩!
>''', '''
再来问我点啥吧!我把我知道的都告诉你,嘻嘻!
>''', '''
# 我有点饿了,再和你聊完最后一句,我就要下线啦!你还有什么要问我的?
# >''']

se = str(random.randint(1, 10000))

for i in range(len(feature_text)):
    comment = input(feature_text[i])
    get_content(comment)
    time.sleep(1)

print('n我走啦,下次见!')

讲完这些,老师就开始讲一些基础的了,例如
print()函数

这个语句可不可以打印出来,要看括号里面的是什么类型,数学或者数学运算可以打印,如果是文字是打印不出来的,因为所有的编程软件或者编译器都不能识别中文。

而且还讲了一些python运行代码的原理

print()函数总结


注:python中,默认所有正确的语法(包括标点符号)都是【英文】。

转义字符

变量和赋值
name=‘千寻’
命名规范:

本章小结

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5698376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存