Python基础

一,python介绍

1,python是一种结合了解释型,编译型,互动型的面向对象的脚本语言。
2,优点:

(1)优雅,简单,明确;
(2)开发效率高;
(3)具有可移植性;
(4)可扩展性强;
(5)可切入性强。

3,缺点

(1)运行速度慢
(2)代码不能加密
(3)不能实现同一线程对多核cpu的使用
注:CIL即全局解释锁,是计算机程序设计语言中用于同步线程的工具,使得任何时刻仅有一个线程是操作系统的原生线程。一个python解释器进程内仅有一条主线程,以及多条用户程序的执行线程,即使在多核cpu中,由于CIL的存在,所以禁止多条线程并发执行

4,python的执行过程

(1)当python程序运行时,编译的结果保存在位于内存的PyCodeObject中,当python程序运行结束时,python解释器将PyCodeObject写回到pyc文件中。
(2)当python程序第二次运行时,首先程序会在硬盘中寻址pyc文件,如果找到,则直接载入,否则就重新上面的过程。

解释:PyCodeObject是python编译器真正编译成的结果;
pyc是PyCodeObject的一种持久化保存方式。

二,python解释器

解决解释型语言执行效率低下的问题。

解释器特点
Cpython官方版的解释器,由c语言编写
Pypy采用JIT技术,对python代码进行动态编译,所以可以显著提高python代码的执行效率
shedskin将python代码翻译成c++,然后再编译

注:由于Pypy和Cpython有一些不同,所以相同的python代码在两种不同的解释器下执行出来的结果可能有所不同。

三,python安装

1,在Linux下安装python
上传安装包并解压

[root@localhost ~]# tar xf Python-3.8.2.tgz -C /usr/local/src/
[root@localhost ~]# yum install gcc gcc-c++ make zlib* -y
[root@localhost ~]# yum install libffi-devel -y
[root@localhost Python-3.8.2]# ./configure --prefix=/usr/local/python3
[root@localhost Python-3.8.2]# make && make install

由于linux中默认装有python2的版本,因此在执行命令时调用2版本
在这里插入图片描述
配置执行文件的路径,会生成python3的命令

[root@localhost bin]# ln -fs /usr/local/python3/bin/python3 /usr/bin/python3

在这里插入图片描述
在这里插入图片描述
2,安装pycharm
上传安装包

[root@localhost ~]# tar xf pycharm-professional-2018.3.7.tar.gz\?_ga\=2.211598423.353379605.1584669292-1103173413.1584669292 -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/pycharm-2018.3.7/
[root@localhost pycharm-2018.3.7]# cd bin/
[root@localhost bin]# ./pycharm.sh
[root@localhost bin]# ln -s /usr/local/src/pycharm-2018.3.7/bin/pycharm.sh /usr/sbin/pycharm

四,搭建python开发虚拟环境

1,什么是虚拟环境?

在同一个执行机上,运行的相互独立的python运行环境。

2,为什么要使用虚拟环境?

(1)当有不同的版本需求时;
(2)不同的项目需要不同的运行环境。

3,安装虚拟主机
(1)安装虚拟插件

[root@localhost ]# yum install python-virtualenv

(2)新建虚拟环境(创建的文件都在当前目录下)

[root@localhost src]# virtualenv py2
New python executable in /usr/local/src/py2/bin/python
Installing setuptools, pip, wheel...done.

virtualenv 文件名 创建名为。。的虚拟环境

[root@localhost src]# virtualenv -p /usr/local/python3/bin/python3 py3

virtualenv -p python安装目录 文件名
(3)运行虚拟环境

[root@localhost src]# cd py3/bin/
[root@localhost bin]# ls
activate      activate.fish     easy_install      pip   pip3.8  python3    python-config
activate.csh  activate_this.py  easy_install-3.8  pip3  python  python3.8  wheel
[root@localhost bin]# source activate
(py3) [root@localhost bin]#
(py3) [root@localhost bin]# python
Python 3.8.2 (default, Mar 29 2020, 23:14:04)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>> exit()

(4)退出虚拟环境

(py3) [root@localhost bin]# deactivate

五,基础语法

1,用脚本编写python程序

[root@localhost ~]# cat python.py
#!/usr/bin/python2
#-*- encoding:utf-8 -*-
print("你好,世界")
[root@localhost ~]# python python.py
你好,世界

注:用python2运行时中文一般解析不了,要指定字符串utf-8,

[root@localhost ~]# cat python.py
#!/usr/bin/python3
print("你好,世界")
[root@localhost ~]# python3 python.py
你好,世界

用python3运行时不用指定字符串,它默认的就是utf-8.
2,标识符

(1)在python里,标识符由数字,字母,下划线组成。
(2)标识符中不能以数字开头。
(3)标识符区分大小写。
(4)以下划线开头的标识符具有特殊含义
a,以但下划线开头(_name)表示不能直接访问的类属性,需要通过类提供的接口访问。
b,以双下划线开头(__name)表示类的私有成员变量。
c,以双下划线开头结尾(_name_)表示特殊方法的标识符,

3,保留字符
在这里插入图片描述
4,注释

(1)单行注释:#
(2)多行注释:'''
             '''

5,用户交互与格式化输出
(1)用户交互输入

username=input("please input name:")
print(username)

(2)格式化输出
方法一,字符串拼接

username=input("please input name:")
passwd=input("please input password:")
phone=input("please input phone:")
info='''---------name:'''+username+'''----------
       password:'''+passwd+'''
       phone:'''+phone+'''
'''
print(info)

方法二:format函数变量映射

username=input("please input name:")
passwd=input("please input password:")
phone=input("please input phone:")
info='''---------name:{_username}----------
       password:{_passwd}
       phone:{_phone}
'''.format(_username=username,
           _passwd=passwd,
           _phone=phone
           )
print(info)

方法三:format函数顺序映射

username=input("please input name:")
passwd=input("please input password:")
phone=input("please input phone:")
info='''---------name:{0}----------
       password:{1}
       phone:{2}
'''.format(username,passwd,phone)
print(info)

方法四:带格式输出

username=input("please input name:")
passwd=input("please input password:")
phone=input("please input phone:")
info='''---------name:%s----------
       password:%s
       phone:%s
'''%(username,passwd,phone)
print(info)

在这里插入图片描述
注:若将第四种方法的%s换为%d,则
在这里插入图片描述
%s:字符串
%d:整型
在这里插入图片描述
可以打印输入值的字符类型:print(type(phone))
在这里插入图片描述
可以看出输入的字符为字符串,所以可以将输入的值强转:phone=int (input (“please input your phone”)
在这里插入图片描述
在这里插入图片描述
6,空行

1)函数之间或类的方法之间用空行分割,表示一段新代码的开始;
(2)类和函数入口之间用一行空行分隔,以突出函数入口的开始。

注:空行不是python语法的一部分,但是程序代码的一部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值