火车头采集文章批量伪原创【php源码】

news2024/11/24 17:35:07

火车头采集是一款基于Python语言开发的网络爬虫工具,用于快速高效地从互联网上采集数据并存储到本地或远程数据库。它简单易用且功能强大,在各行各业广泛应用。

火车头采集器AI伪原创PHP源码:

<?php
header("Content-type: text/html; charset=gb2312");
set_time_limit(0);
 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 
 
define ("CUR_DIR", '../');
define('TITLE_SEPAR', 'xxxxx');
 
 
// 这里是你的API地址,需要到 www.xiaofamao.com 申请
define('API_URL', 'http://api.xiaofamao.com/api.php?json=0&v=2&key=yuyu');
 
 
// 待执行目录
define('CUR_FOLDER', CUR_DIR.'word');
// 执行后保存目录
define('DEST_FOLDER', CUR_DIR.'xiaofamao');
// 执行后保存目录 失败
define('DEST_FOLDER_FAIL', CUR_DIR.'xiaofamao_fail');
 
 
$one_file = get_one_file();
 
 
// 判断是否还有任务
if (!$one_file){
    echo PHP_EOL.'* 任务数为0, 程序已退出';
    exit;
}
 
while ($one_file) {
 
    echo PHP_EOL.'* 正在执行:' . PHP_EOL. file_path($one_file);
 
    echo PHP_EOL.'* 请耐心等候...';
 
    $data_arr = get_contents_filter(file_path($one_file));
 
    $title = $data_arr['title'];
    $title_src = $data_arr['title'];
 
    $content = $data_arr['content'];
    $content = replace_shuminghao($content);
    $content = get_utf8_data($content);
 
    $new_content = curl_request(API_URL, array('wenzhang'=>$content));
    $new_content = get_gbk_data($new_content);
    $new_content = restore_shuminghao($new_content);
 
#var_dump($new_content);
 
    $new_content = content_format($new_content);
    $new_content = $new_content;
 
    #$new_title = get_ai_title($title);
	$title = get_utf8_data($title);
    $new_title = $title;
    //$new_title =curl_request(API_URL, array('wenzhang'=>$title));
	//$new_title = get_gbk_data($new_title);
    #echo $new_title;
 
    # 如果标题伪原创成功
    if ($new_title === 'xx'.$title) {
        $new_title = get_gbk_data($title);
        //save_new_file(DEST_FOLDER_FAIL.DIRECTORY_SEPARATOR.$new_title.'.txt', $new_content);
        save_new_file(DEST_FOLDER_FAIL.DIRECTORY_SEPARATOR.$title_src.'.txt', $new_content);
    }
    else {
        $new_title = strip_tags($new_title);
        $new_title = str_replace(':', ":", $new_title);
        $new_title = str_replace('?', "?", $new_title);
        $new_title = str_replace(array('*','"','<','>','|'),'_', $new_title);
        $new_title = get_gbk_data($new_title);
 
        #$title = get_gbk_data($title);
        #save_new_file(DEST_FOLDER.DIRECTORY_SEPARATOR.$new_title.'.txt', $new_content);
        save_new_file(DEST_FOLDER.DIRECTORY_SEPARATOR.$title_src.'.txt', $new_content);
        #save_new_file(DEST_FOLDER.DIRECTORY_SEPARATOR.$new_title.'.txt', $content);
    }
 
    //
    //
 
    #save_new_file(DEST_FOLDER.DIRECTORY_SEPARATOR.$title.'.txt', $new_content);
    file_ok($one_file);
 
    //show_info_gb2312('伪原创结果:'.PHP_EOL. $final_data);
    //save_new_file(DEST_FOLDER.DIRECTORY_SEPARATOR.$new_title, $new_content);
 
//var_dump($final_data);
 
//    sleep(3);
 
    $one_file = get_one_file();
//    show_reflesh();
}
 
show_info_gb2312(PHP_EOL.'任务完成'.PHP_EOL);
 
 
 
 
 
function replace_shuminghao($content) {
    $content = str_replace('![](', '<(', $content);
    $count = preg_match_all("/<\((.*?)\)/", $content, $matches);
    #var_dump($matches[0]);
    if (isset($matches[0][0]))
    {
        foreach ($matches[0] as $key => $value) {
	#echo $value;
            $new_val = '《'.$matches[1][$key].'》';
            $content = str_replace($value, $new_val, $content);
        }
    }
#echo $content;
    return $content;
}
 
 
function restore_shuminghao($content) {
    $count = preg_match_all("/《http(.*?)》/", $content, $matches);
    #var_dump($matches[0]);
    if (isset($matches[0][0]))
    {
        foreach ($matches[0] as $key => $value) {
            $new_val = '![](http'.$matches[1][$key].')';
            $content = str_replace($value, $new_val, $content);
        }
        #return $matches[0];
    }
    return $content;
}
 
 
 
function content_rewrite($content) {
    $data = curl_request(API_URL, array('wenzhang'=>$content));
    return $data;
}
 
function content_format($data) {
 
	$data = fix_newline($data);
	$data_arr = explode(PHP_EOL, $data);
	$ret_str = '';
	foreach($data_arr as $key => $value) {
#echo $value;
		$ret_str .= '  '.$value.PHP_EOL.PHP_EOL;
		#$ret_str .= 'bbbbbbbbbbbbbbbbbb';
	}
 
	return $ret_str;
}
 
function title_content_rewrite($title, $content) {
 
    $article_src = $title.TITLE_SEPAR.PHP_EOL.$content;
 
    $data = curl_request(API_URL, array('wenzhang'=>$article_src));
    $data = str_replace("Xx", "xx", $data);
    $data = str_replace("\n", "\r\n", $data);
    $data = str_replace("<p>\r\n", "<p>", $data);
    $data = ltrim($data);
    #var_dump($data);
    $temp = explode(TITLE_SEPAR, $data);
    #var_dump($temp);
    $temp[0] = trim($temp[0]);
    $temp[1] = ltrim($temp[1]);
    $temp[1] = ltrim($temp[1], '</p>');
    $temp[1] = ltrim($temp[1]);
    $temp[1] = ltrim($temp[1]);
    return $temp;
}
 
function show_info($str) {
    echo '<p>' . $str . '</p>';
}
 
function get_utf8_data($data) {
    $encode = mb_detect_encoding($data, array('ASCII', 'UTF-8', 'GB2312', 'GBK','BIG5'));
    if ($encode !== 'UTF-8') {
        //show_info_gb2312('文件非 UTF-8,正在转成UTF-8');
        $utf8_data = iconv($encode, 'UTF-8//IGNORE', $data);
        return $utf8_data;
    }
 
    return $data;
}
 
function get_gbk_data($data) {
    $encode = mb_detect_encoding($data, array('ASCII', 'UTF-8', 'GB2312', 'GBK','BIG5'));
    if ($encode === 'UTF-8') {
        //show_info_gb2312('文件非 UTF-8,正在转成UTF-8');
        $gbk_data = iconv('UTF-8//IGNORE', 'GBK//IGNORE', $data);
        return $gbk_data;
    }
    
    return $data;
}
 
 
function get_ai_title($title) {
    $title = urlencode($title);
    return curl_request($url);
}
 
 
function show_info_gb2312($string) {
    echo get_gbk_data($string);
    newline();
}
 
 
function get_img_arr($array) {
    $ret_arr = array();
    foreach ($array[1] as $key => $value) {
        if (stripos($value, 'C:\\') === 0) {
            $ret_arr[0][] = $value;
        }
        else {
            $ret_arr[1][] = $value;
        }
    }
    asort($ret_arr);
    return $ret_arr;
}
 
function str_replace_once($search, $replace, $subject) {
    $firstChar = strpos($subject, $search);
    if($firstChar !== false) {
        $beforeStr = substr($subject,0,$firstChar);
        $afterStr = substr($subject, $firstChar + strlen($search));
        return $beforeStr.$replace.$afterStr;
    } else {
        return $subject;
    }
}
 
//var_dump(str_replace_once('**x**', 'xxxxxxxxxx', 'aaa**x**bbb'));
//exit;
function put_img_arr($array, $string) {
    $string = str_replace('**X**', '**x**', $string);
    foreach ($array as $key => $value) {
        $string = str_replace_once('**x**', $value, $string);
    }
 
    return $string;
}
 
function get_rewrite_title($data) {
//    var_dump($data);
    $data = reset_newline($data);
    $data_arr = explode(PHP_EOL, $data);
    $title = str_replace(array('<P>', '<p>'), array('',''), $data_arr[0]);
    array_shift($data_arr);
 
    $contents = '<p>'.implode(PHP_EOL, $data_arr);
    $new_arr = array($title, $contents);
 
    return $new_arr;
}
 
/*
foreach ($news_list as $key => $value) {
    echo $value."<br>".PHP_EOL;
	$value = iconv("utf-8", "gb2312", $value);
	$data = file_get_contents($value);
	$data = iconv("GBK", "utf-8", $data);
//	echo $data;
	$data = rewrite($data);
    $data = str_replace("\r\n", "\n", $data);
    $data = str_replace("\r", "\n", $data);
    $data = str_replace("\n", "\r\n", $data);
	sleep(2);
    $data = auto_typeset($data);
	save_new_file('b'.$value, $data);
}
*/
 
function auto_typeset($data) {
    $data = str_replace(
        array('<P>'."\r\n", '<P>', '<p>'),
        array('<p>',        '<p>', '<p>  '),
        $data
    );
 
    return $data;
}
 
function rewrite($article) {
	$url = API_URL;
	return curl_request($url, array('wenzhang'=>$article ));
}
 
function save_new_file($filename, $data) {
	if (! data_exists($filename)) {
        file_put_contents($filename, $data);
	}
}
 
// 缓存数据是否存在
function data_exists($filename) {
    $filename = str_replace('\\','/', $filename);
//    var_dump($filename);
//    var_dump(dirname($filename));
  if (!is_dir(dirname($filename))) {
//    echo 'aaaaaaaaaaa';
    mkdir(dirname($filename),0755,true);
  }
//  var_dump(dirname(dirname($filename)));
    if (!is_dir(dirname(dirname($filename)))) {
//        echo 'bbbbbbbbbb';
    mkdir(dirname(dirname($filename)),0755,true);
  }
  if (file_exists($filename)) {
    return true;
  }
  return false;
}
 
 
function get_news_list($floder) {
    $news_list = array();
    if($handle = opendir($floder)){
      while (false !== ($file = readdir($handle))){
        //$dir = iconv("utf-8", "gb2312", $file);
        $file = iconv("gb2312", "utf-8", $file);
        if ($file !== '..' && $file !== '.')
        {
            $news_list[] = $floder.DIRECTORY_SEPARATOR.$file;
        }
 
    //    echo "$file\n";
      }
      closedir($handle);
    }
 
    return $news_list;
}
 
 
 
 
//参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies
function curl_request($url,$post='',$cookie='', $returnCookie=0){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
    if (ini_get('open_basedir') == '' && strtolower(ini_get('safe_mode')) != 'on'){ 
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    }
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
        if($post) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
        }
        if($cookie) {
            curl_setopt($curl, CURLOPT_COOKIE, $cookie);
        }
        curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
        curl_setopt($curl, CURLOPT_TIMEOUT, 150);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        if($returnCookie){
            list($header, $body) = explode("\r\n\r\n", $data, 2);
            preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
            $info['cookie']  = substr($matches[1][0], 1);
            $info['content'] = $body;
            return $info;
        }else{
            return $data;
        }
}
 
// 计算中文字符串长度
function utf8_strlen($string = null) {
// 将字符串分解为单元
preg_match_all("/./us", $string, $match);
// 返回单元个数
return count($match[0]);
}
 
 
 
function get_one_file() {
    $arr_all = get_all_files();
    #var_dump( $arr_all );
    $arr_ok = get_ok_files();
    //var_dump($arr_ok);
    foreach($arr_all as $v) {
        if (array_search($v, $arr_ok)===false) {
            return $v;
        }
    }
 
    return false;
}
 
function get_all_files() {
    return listDir(CUR_FOLDER);
}
 
function get_ok_files() {
    //var_dump(CUR_DIR.'ok.txt');
    $data = file_get_contents(CUR_DIR.'ok.txt');
    $data = str_replace("\xef\xbb\xbf", '', $data);
    $data_arr = explode(PHP_EOL, $data);
    return $data_arr;
}
 
function file_ok($file_name) {
    file_put_contents(CUR_DIR.'ok.txt', $file_name.PHP_EOL, FILE_APPEND);
}
 
function listDir($dir)
{
//    echo $dir;
    $reta = array();
    if(is_dir($dir))
    {
        if ($dh = opendir($dir)) 
        {
            while (($file = readdir($dh)) !== false)
            {
                if((is_dir($dir."/".$file)) && $file!="." && $file!="..")
                {
                    //echo 'aa';
                    //$file = iconv("gb2312", "utf-8//IGNORE", $file);
                //    $file = ConvertToUTF8($file);
                    #$file = mb_convert_encoding($file, 'UTF-8', 'GBK');
                    $reta[] = $file;
                //    echo "<b><font color='red'>文件名:</font></b>",$file,"<br><hr>";
                    listDir($dir."/".$file."/");
                }
                else
                {
                    if($file!="." && $file!="..")
                    {
                    //    echo $file."<br>";
                        if (stripos($file, '.txt')!==false) {
                        #$file = iconv("GBK", "utf-8//IGNORE", $file);
                    //    echo $file.'<br>';
                        $reta[] = $file;
                        }
                    }
                }
            }
            closedir($dh);
        }
    }
//var_dump($reta);
    return $reta;
}
 
 
function file_path($filename) {
    return CUR_FOLDER.DIRECTORY_SEPARATOR.$filename;
}
 
 
function short_filename($filename) {
    $filename = str_replace(CUR_FOLDER.DIRECTORY_SEPARATOR, '', $filename);
    $filename = str_replace('.txt', '', $filename);
    return $filename;
}
 
 
function get_contents_filter($file_name) {
    $file_name = get_gbk_data($file_name);
//    $file_name = mb_convert_encoding($file_name, 'UTF-8', 'ISO-8859-15');
///    $file_name = iconv("utf-8", "GBK//IGNORE", $file_name);
//    echo $file_name.'<br>';
    $data = file_get_contents($file_name);
    $data = get_gbk_data($data);
    $data = str_replace("\t", '', $data);
 
    // 优化换行符
    $data = fix_newline($data);
 
    $data_title = short_filename($file_name);
//var_dump(get_utf8_data($data));
 
    return array('title'=>$data_title, 'content'=>$data);
}
 
function fix_newline($data) {
    $data = str_replace("\r", "\n", $data);
    while(strpos($data, "\n\n") !== false) {
        $data = str_replace("\n\n", "\n", $data);
    }
    $data = str_replace("\n", PHP_EOL, $data);
 
    return $data;
}
 
function show_reflesh() {
$str = '<script language="JavaScript">
function myrefresh()
{
       window.location.reload();
}
setTimeout("myrefresh()",1000);
</script>';
echo $str;
}
 
 
    function after ($this, $inthat)
    {
        if (!is_bool(strpos($inthat, $this)))
        return substr($inthat, strpos($inthat,$this)+strlen($this));
    };
 
    function after_last ($this, $inthat)
    {
        if (!is_bool(strrevpos($inthat, $this)))
        return substr($inthat, strrevpos($inthat, $this)+strlen($this));
    };
 
    function before ($this, $inthat)
    {
        return substr($inthat, 0, strpos($inthat, $this));
    };
 
    function before_last ($this, $inthat)
    {
        return substr($inthat, 0, strrevpos($inthat, $this));
    };
 
    function between ($this, $that, $inthat)
    {
        return before ($that, after($this, $inthat));
    };
 
    function between_last ($this, $that, $inthat)
    {
     return after_last($this, before_last($that, $inthat));
    };
 
// use strrevpos function in case your php version does not include it
function strrevpos($instr, $needle)
{
    $rev_pos = strpos (strrev($instr), strrev($needle));
    if ($rev_pos===false) return false;
    else return strlen($instr) - $rev_pos - strlen($needle);
};
 
 
function recurse_copy($src,$dst) { 
    $dir = opendir($src); 
    @mkdir($dst); 
    while(false !== ( $file = readdir($dir)) ) { 
        if (( $file != '.' ) && ( $file != '..' )) { 
            if ( is_dir($src . '/' . $file) ) { 
                recurse_copy($src . '/' . $file,$dst . '/' . $file); 
            } 
            else { 
                if (strpos($file, '.txt') === false) {
                    copy($src . '/' . $file,$dst . '/' . $file);
                }
            } 
        } 
    } 
    closedir($dir); 
} 
 
 
 function ConvertToUTF8($text){
 
    $encoding = mb_detect_encoding($text, mb_detect_order(), false);
 
    if($encoding == "UTF-8")
    {
        $text = mb_convert_encoding($text, 'UTF-8', 'UTF-8');    
    }
 
 
    $out = iconv(mb_detect_encoding($text, mb_detect_order(), false), "UTF-8//IGNORE", $text);
 
 
    return $out;
}
 
function newline() {
    echo PHP_EOL;
}
 
function sanitizeUTF8($value)
    {
        if (self::getIsIconvEnabled()) {
 
            // NEW ----------------------------------------------------------------
            $encoding = mb_detect_encoding($value, mb_detect_order(), false);
 
            if($encoding == "UTF-8")
            {
                $value = mb_convert_encoding($value, 'UTF-8', 'UTF-8');    
            }
 
            $value = iconv(mb_detect_encoding($value, mb_detect_order(), false), "UTF-8//IGNORE", $value);
            // --------------------------------------------------------------------
 
            // OLD --------------------------------------
            // $value = @iconv('UTF-8', 'UTF-8', $value);
            // -------------------------------------------
            return $value;
        }
 
        $value = mb_convert_encoding($value, 'UTF-8', 'UTF-8');
 
        return $value;
    }
 
 
?>

这篇文章主要介绍了高中信息技术python重点全部归纳总结,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

1、高中信息技术python知识点有哪些?

高中信息技术python知识点有:

17%4 结果为 1,表示取,17除以4商4,余数为1。

4**2 结果为 16,求4的汪携平方。

3**3 结果为 27,求3的立方。

@*8 的结果为 '@@@@@@@@',表示把@重复8次得到一个新

int(10.5),把小数10.5转成整数10。

float(10),把整数10转成小数10.0。

int("20"),把字符串"20"转成整数20。

str(20),把整数20转成字符串"20"。

信息技术python编写程序,根据输入的百分制分数,将其转换为等级制(首颤优困芹伏、良、中、及格、不及格)并输出。

>90-优秀。

80到90-良好。

70到80-良好。

60到70-良好。

<60-不及格。

2、高中信息技术知识点有哪些?

高中信息技术知识点有:

1、信息与载体区分:文字、图像、声音都为信息的载体,而不是信息(例如:文字里面所表达得意思才是信息,而文字本身并不是信息。)

2、 收藏夹用于收藏网址(保存网址),但不能保存网页内容。

3、 理解 Word 中查找替换(文章中某个词语替换成另一个)、自动更正(输入时,更正打字错误)、批注(对词句的注旅丛碰释)、修订(插入和删除两种修订形式)等功能。

考试内容有:

(1)信息的概念、特征、作用,技术基础以及信息技术的应用。

(2)信息的安全和道德,包括计算机病毒和黑客的定义、特征等。

(3) Windows基础郑行知识:鼠标与键盘的基本操作;文件夹的移动、删拆谈除、新建、命名、重命名、连续选中、不连续选中;输入发的相关知识(一些标点符号的输入方法);常用快捷等;文件的类型(后缀名)。

(4)计算机信息存储的基本单位及采用的进制数,各单位及进制数间的相互转化。

(5) 文字处理软件word、电子表格软件excel、演示文稿软件PPT的基本操作。

3、高一必修《信息技术基础》重点知识

一、信息获取

1、信息的基本概念及特征

(1)理解信息的基本概念

(2)能描述信息的基本特征

(3)了解信息的基本载体形式

(4)能通过具体事例分析信息的特征

2、乱御信息的发展历程和发展趋势

(1)了解信息技术的j基本概

(2)了解信息技术的发展历程

(30了解信息技术在 日常生活中的应用

(4)了解信息技术发展趋势

33、获取信息的有效途径

(1)理解信息来源的都样性

(2)了解闲暇的一般过程

(3)o几百哗迅岩几种常见的采集工具

(4)掌握采集信息的 基本方法

(5)能根据问题确定信息 来源

(6)了解计算机常用的信息存储格式

4、从因特网上获取信息的策略与技巧昌谨

(1)能使用浏览器网

(2)掌握常用搜索引擎

(3)能根据

4、高中信息技术知识点有哪些?

1、信息:指以声音、语言、文字、图像、动画、气味等方式所表示的实际内容如:书本上的知识、报刊上的新闻内容。

2、信息载体:声音、语言、文字、图像、动画、气味等(只是东西不表示内容)如:书本、图片、存有数据的U盘。

3、载体依附性:信息不能独立存在,必须依附于一定的载体,而且,同一个信息可以依附于不同的载体。信息按载体不同可分为(文字、图形(图象)、声音、动画、视频)。信息的世核载体依附性使信息具有可存储、可传递、可转换的特点。

4、价值性:信息是有价值的,人类离不开信息。物仿戚质、能量和信息是构成世界的三大要素。☆信息与物质、能量不同,表现在两方搜大掘面:一方面它可以满足人们精神领域的需求;另一方面,可以促进物质、能量的生产和使用。

5、共享性:信息不同于物质、能量的主要方面信息共享一般不会造成信息的丢失,也不会改变信息的内容。除了一般特征外,信息还具有以下的特征:普遍性、可存储性、可增值性。

5、高中信息技术会考必背知识点有什么?

高中信息技术会考必背知识点

1 、 信息具有载体:以文字表 现信息;广播、电视依附于电磁波,以声音、视频表现信息。 同 一个信息可以依附于不同的载体。起床的信枯薯猜息既可以通过闹钟的铃声,也可以通过别人叫醒。文字信息既可以印刷在纸张上,也 可以刻在石碑上,还可以记录在计算机的外存储器中。 由于信息的载体依附性、使得信息还具有可存储性、可传递、可转换性。 

2 、信息具有共享性:信息可被多次重复使用,不会损耗和消失。 例如:奥运会的比赛直播, 使得全球可以同时接收该直播信息, 了解比赛情况。

3、信息具有时效性:信息往往反映的只是事物某一特定时刻的状态, 会随着时间的推移而变化。 例如:天气预报、手歼 交通地图、 兑奖发票、 股票等都有很强的时效性。 

4 、信息具有价值性:信息作为一种特殊 的资源,具有其相应的应用价值。 如“烽火连三月, 家书抵王金”。 

5、信息的价值相对性:对不同的信息接收者,信息的价值是不同的, 这与信息接收者的需求密切相关,也于信息接收者的素质有关。 例 如:对于一个准备到外地的旅游者来说,旅游目的地的各种信息,如 旅游资源、 气象等对他们来说非常重要; 而对于一个只在本地居住的 人来说,外地的气象信息可能根本没有用。 

6 、信息的可伪性:提醒我们, 要注意信息的来源和信息的筛选, 要有效防止信息污染。 例如:夸大或虚假广告,再如生活中有时会遇到一句话经 过多人传递后就改变没型了其中的意思,甚至面目全非。

6、python有哪些特点和优点

显著的优点

Python 语言拥有诸多的优点,这其中,以下几个优点特别显著:

简单易学:Python语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是因为Python语言简单易学,所以,已经有越来越多的初学者选择Python语言作为编程的入门语言。例如,在浙江省 2017年高中信息技术改革中,《算法与程序设计》课程将使用 Python语言替换原有的VB 语言。

语法优美:Python语言力求代码简洁、优美。在Python语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。

丰富强大的库:Python语言号称自带电池(Battery Included),寓意是Python语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有升纳相应的开源项目提供了类似的功能。合理使用Python的类库和开源项目,能够快速的实现功能,满足业务需求。

开发效率高:Python的各个优点是相辅相成的。例如,Python语言因为有了丰富强大的类吵凯没库,所以,Python的开发效率能够显著提高。相对于 C、C++ 和 Java等编译语言,Python开发者的效率提高了数倍。实现相同的功能,Python代码的文件往往只有 C、C++和Java代码的1/5~1/3。虽然Python语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用Python语言,很大程度上是因为Python语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python语言在互联网公司使用非常广泛。

应用领域广泛:Python语言的另一大优点就是应用领域广泛,工程师可以使用Python 做很多的事情。例如,Web开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习等等。Python语言介于脚本语言和系统语言之间,我们根据需要,既可以将它当做一孙毁门脚本语言来编写脚本,也可以将它当做一个系统语言来编写服务。

不可忽视的缺点

毫无疑问,Python确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python并不是没有缺点的,最主要的缺点有以下几个:

Python的执行速度不够快。当然,这也不是一个很严重的问题,一般情况下,我们不会拿Python语言与C/C++这样的语言进行直接比较。在Python语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python 特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。

Python的GIL锁限制并发:Python的另一个大问题是,对多处理器支持不好。如果读者接触Python时间比较长,那么,一定听说过GIL这个词。GIL是指Python全局解释器锁(Global Interpreter Lock),当Python的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的Python实现来运行我们的程序。

Python 2与Python 3不兼容: 如果一个普通的软件或者库,不能够做到后向兼容,那么,它会被用户无情的抛弃了。在Python中,一个槽点是Python 2与Python 3不兼容。因为Python没有向后兼容,给所有的Python工程师带来了无数的烦恼。

上述就是总结的Python语言的优缺点。总体来说,Python目前的发展还是非常不错的。借着人工智能时代的东风,Python开发人员的未来一定会很光明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/786441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# WPF项目创建(基于VS 2019介绍)

1.打开VS&#xff0c;选择《创建新项目》 2.选择《WPF应用程序》&#xff0c;如图 3. 项目名称根据需求自行命名&#xff0c;这边以“WpfApp1”来命名&#xff0c;位置自行选择&#xff0c;这边选择了"E:\test"&#xff0c;如图所示&#xff0c;“将解决方案和项目…

【广州华锐互动】VR模拟灭火逃生体验系统

VR模拟灭火逃生体验系统由广州华锐互动开发&#xff0c;是一种基于虚拟现实技术的应急演练与培训系统&#xff0c;可以真实模拟消防逃生场景&#xff0c;让体验者在沉浸式的虚拟环境中&#xff0c;根据正确的消防逃生方法提示&#xff0c;进行自救演练。这种科学普及方法是更加…

datafree KD CVPR2023 学习笔记(Abstract)

这个 是摘要的前部分 摘要 简单的提及 无数据的蒸馏 是怎么样的 和普通的蒸馏有一个本质的区别&#xff1a;没有训练数据 很火啊 最近 在对抗性的蒸馏框架中呢 存在一个问题 由于多个生成器生成的 非平稳分布的pseudo-samples 导致了学生网络的性能不好 提出一个解决方案的i…

Docker——数据管理与网络通信

Docker——数据管理与网络通信 一、Docker 的数据管理1&#xff0e;数据卷2&#xff0e;数据卷容器 二、端口映射三、容器互联&#xff08;使用centos镜像&#xff09;四、Docker 镜像的创建1&#xff0e;基于现有镜像创建1.1 首先启动一个镜像&#xff0c;在容器里做修改1.2 然…

如何搭建使用dubbo-Admin?

dubbo-Admin介绍 一款用于dubbo可视化界面操作的管理平台 dubbo-Admin特点 dubbo-Admin是dubbo的管理界面平台&#xff0c;且是一个前后端分离的项目&#xff0c;前端使用vue&#xff0c;后端使用springboot。 软件下载 dubbo-admin-0.5.0.zip 软件使用

Java文件的相对路径规则

前言 最近做项目&#xff0c;又涉及到Linux Java文件的相对路径&#xff0c;但是相对路径在不同的服务器或者docker上居然不一样&#xff0c;这个就很难受&#xff0c;只能用绝对路径解决&#xff0c;因为绝对路径是固定的路径&#xff0c;但是相对路径为什么会在不同的服务器…

将pdf转换成word怎么转换?掌握这几个转换方法就够了

将pdf转换成word怎么转换&#xff1f;将 PDF 转换成 Word 文档是一个常见的需求&#xff0c;我们需要编辑 PDF 文件中的文字内容&#xff0c;但是 PDF 文件并不方便直接编辑。下面介绍几个转换方法。 方法一&#xff1a;使用迅捷 PDF 转换器 这是一款专业的 PDF 转换工具&…

【2023】HashMap详细源码分析解读

前言 在弄清楚HashMap之前先介绍一下使用到的数据结构&#xff0c;在jdk1.8之后HashMap中为了优化效率加入了红黑树这种数据结构。 树 在计算机科学中&#xff0c;树&#xff08;英语&#xff1a;tree&#xff09;是一种抽象数据类型&#xff08;ADT&#xff09;或是实作这种…

2023年深圳杯数学建模 D题 基于机理的致伤工具推断

致伤工具的推断一直是法医工作中的热点和难点。由于作用位置、作用方式的不同&#xff0c;相同的致伤工具在人体组织上会形成不同的损伤形态&#xff0c;不同的致伤工具也可能形成相同的损伤形态。致伤工具品种繁多、形态各异&#xff0c;但大致可分为两类&#xff1a;锐器&…

结构体——位段

//结构体--位段 &#xff08;位 指二进制位 &#xff09; // 位段的声明与结构体是类似的 // 1&#xff0c;位段的成员必须是 int &#xff0c;unsigned int 或 signed int // 2&#xff0c;位段的成员名后边有一个冒号和一个数字。&#xff08;数字表示开辟需要的比特位个数&a…

【【51单片机的温度识别】】

51单片机的温度识别 这么热的天&#xff0c;再离我远一点 DS18B20温度读取 温度报警 我们这里对于单总线 也仿照I2C 总线的模样 以下是我们实现的onewire.c文件 #include <REGX52.H> //第一步从原理图触发先定义端口sbit OneWire_DQP3^7;//第一步初始化unsigned char…

商城-学习整理-基础-前端(四)

目录 一、技术栈介绍二、ES61、简介2、什么是ECMAScript3、ES6 新特性1、let 声明变量2、const 声明常量&#xff08;只读变量&#xff09;3、解构表达式1&#xff09;数组解构2&#xff09;对象解构 4、字符串扩展1&#xff09;、几个新的 API2&#xff09;、字符串模板 5、函…

跨洋消息队列CKafka

背景 跨洋消息队列CKafka&#xff0c;是腾讯出品开源消息队列组件&#xff0c;为了解决客户跨地域容灾、冷备的诉求跨地域秒级准实时数据同步而开源的腾讯云中间件。 整体架构图 数据同步主要流程 Connect 集群初始化 Connect Task&#xff0c;每个 Task 会新建多个 Worker C…

3D元宇宙游戏,或许能引爆新的文娱消费增长点

从去年开始&#xff0c;在互联网上&#xff0c;一个名为【神念无界-源起山海】的元宇宙游戏项目火了。除了可以在游戏内体验独战、团队式作战等3D古风经典游戏场景和玩法&#xff0c;还有钓鱼增加能量、情侣姻缘一线牵&#xff0c;结婚等多元化逼真效果与玩法&#xff0c;这令很…

第118天:免杀对抗-二开CS上线流量特征Shellcode生成机制反编译重打包(上)

知识点 #知识点&#xff1a; 1、CS-表面特征消除 2、CS-HTTP流量特征消除 3、CS-Shellcode特征消除#章节点&#xff1a; 编译代码面-ShellCode-混淆 编译代码面-编辑执行器-编写 编译代码面-分离加载器-编写 程序文件面-特征码定位-修改 程序文件面-加壳花指令-资源 代码加载面…

opencv-21 alpha 通道详解(应用于 图像增强,合成,蒙版,特效 等)

什么是alpha 通道&#xff1f; Alpha通道是计算机图形学中用于表示图像透明度的一种通道。在一个图像中&#xff0c;通常会有三个颜色通道&#xff1a;红色&#xff08;R&#xff09;、绿色&#xff08;G&#xff09;、蓝色&#xff08;B&#xff09;&#xff0c;它们合在一起…

将Parasoft和ChatGPT相结合会如何?

ChatGPT是2023年最热门的话题之一&#xff0c;是OpenAI训练的语言模型。它能够理解和生成自然语言文本&#xff0c;并接受过大量数据的训练&#xff0c;包括用各种编程语言编写的许多开源项目的源代码。 软件开发人员可以利用大量的知识库来协助他们的工作&#xff0c;因为它具…

网络安全高级课笔记1

HTML字符编码/HTML实体编码 html实体编码 unicode urlcode 在字符的十六进制前加百分号&#xff08;%&#xff09;&#xff0c;用于浏览器的网址输入框 utf-8 字符数字表示法 HTML允许使用Nuicode码点表示字符&#xff0c;浏览器会自动将码点转成对应的字符。 字符的码点表…

vtk能否被OpenGL和DirectX取代?

VTK&#xff08;Visualization Toolkit&#xff09;是一个强大的开源可视化库&#xff0c;用于处理和呈现各种科学数据。它建立在OpenGL和DirectX等底层图形库之上&#xff0c;提供了高级的可视化功能和算法。虽然OpenGL和DirectX可以用于图形渲染和实时图形处理&#xff0c;但…

数据结构--线性表2-1

目录 一、线性结构的定义 二、线性表的表示 三、顺序表的实现&#xff08;或操作&#xff09; 1、修改&#xff1a; 2、插入&#xff1a; 四、顺序表的运算效率分析&#xff1a;时间效率分析&#xff1a; 一、线性结构的定义 若结构时非空有限集&#xff0c;则有且仅有一个…