Python基础知识

Python功能:

  • 爬虫
  • 大数据人工智能
  • 自动化运维,自动化测试

优点:开发效率高,简介易懂,缺点:运行效率比较慢
python2 和 python3的区别

1)python2 和 python3 语法不同

  • python2
    [root@localhost mnt]# vim test.py
    在这里插入图片描述
    [root@localhost mnt]# python test.py
    hello world
    在这里插入图片描述

  • python3

    [root@localhost mnt]# python3.6 test.py 
        File "test.py", line 1
          print 'hello world'
                            ^
      SyntaxError: Missing parentheses in call to 'print'. Did you mean print('hello world')?
    

在这里插入图片描述
[root@localhost mnt]# vim test.py #纠正语法错误后再次编译
在这里插入图片描述
[root@localhost mnt]# python3.6 test.py
hello world
在这里插入图片描述
2) 默认使用的字符级别不同

在这里插入图片描述
在这里插入图片描述

  • python3 默认使用utf-8字符
    <1>
    [root@localhost mnt]# python3.6 test.py ###语法错误
    File “test.py”, line 2
    print ‘你好’
    ^
    SyntaxError: Missing parentheses in call to ‘print’. Did you mean print(‘你好’)?
    在这里插入图片描述
    <2>

    #coding:utf-8 #纠正语法错误
    print(‘你好’)

[root@localhost mnt]# vim test.py
[root@localhost mnt]# python3.6 test.py
你好
在这里插入图片描述
在这里插入图片描述
<3>print(‘你好’) #删除第一行的指定字符
在这里插入图片描述
[root@localhost mnt]# vim test.py
[root@localhost mnt]# python3.6 test.py
你好
在这里插入图片描述
3 ) 注释的写法
注释:方便使用者阅读,方便二次开发,描述代码的功能
写法:

#  这是注释1
print('hello world')  #这是注释2
print('你好')
"""
这是一个
多行注释3
"""

在这里插入图片描述
[root@localhost mnt]# vim test.py
[root@localhost mnt]# python3.6 test.py
hello world
你好
在这里插入图片描述
4) 进入编译环境 python2 -----> python
在这里插入图片描述
pythn3 -----> python3.6
在这里插入图片描述
5) python2 和 python3.6的区别
<1>python2里input只能接收整型

[root@localhost mnt]# python
Python 2.7.5 (default, Feb 11 2014, 07:46:25) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> input('Num:')
Num:12
12
>>> input('Num:')
Num:a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'a' is not defined

在这里插入图片描述
<2>python2raw_input接收字符串类型

>>> raw_input('Num:')
Num:12
'12'
>>> raw_input('Num:')
Num:a
'a'
>>> 

在这里插入图片描述

<3>3里没有raw方法,input接收所有

[root@localhost ~]# python3.6
Python 3.6.6 (default, Mar 16 2019, 15:57:32) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> input('Num:')
Num:12
'12'
>>> input('Num:')
Num:a
'a'

在这里插入图片描述

<4>python2中查看帮助

>>> help(input)

在这里插入图片描述
在这里插入图片描述

>>> help(raw_input)

在这里插入图片描述
在这里插入图片描述
查看帮助,对比两者不同,按q退出
6) 强制转换字符类型
import 导入包
函数.方法

>>> import getpass
>>> num = getpass.getpass('输入密码:')
输入密码:
>>> num
'123'

在这里插入图片描述
getpass输入密码不会回显
7) type()可以查看括号中内容的类型
<1>python3

>>> age = input('请输入年龄:')
请输入年龄:18
>>> type(age)
<class 'str'>
>>> age > 19
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'
>>> 

在这里插入图片描述
在这里插入图片描述
<2>python2

>>> age = raw_input('请输入年龄:')
请输入年龄:18
>>> type(age)
<type 'str'>
>>> age > 19
True
>>> age 
'18'
>>> age > 19
True
>>> age = input('请输入年龄:')
请输入年龄:18
>>> age
18
>>> type(age)
<type 'int'>
>>> age > 19
False
>>> 

在这里插入图片描述
在这里插入图片描述
2可以直接比较
<3>3需要强制转换字符类型
转换之后不会对字符串重新赋值,用转换后的直接比较
在这里插入图片描述
8) 输入与输出

>>> name = 'westos'
>>> age = 11
>>> print('%s的年龄为%d' %(name,age))
westos的年龄为11
>>> name = 'redhat'
>>> print('%s的年龄为%d' %(name,age))
redhat的年龄为11
>>> age = '18'  ##这里的18是一个字符串
>>> print('%s的年龄为%d' %(name,age)) ##%d无法输出
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not str
>>> print('%s的年龄为%s' %(name,age)) ##改成%s后可以输出
redhat的年龄为18

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ipython第三方工具,会有颜色显示

  • %s字符串

  • %d整型 占为符,写几个占用几个

  • %f浮点型,小数 默认保留6位 %.2f 保留两位 %.3f 保留3位

      >>> money = 8888.123123123
      >>> print('%s本月的工资为%f' %(name,money))
      redhat本月的工资为8888.123123
      >>> money = 8000
      >>> print('%s本月的工资为%f' %(name,money)) ##默认保留6位
      redhat本月的工资为8000.000000
      >>> 
      >>> print('%s本月的工资为%.2f' %(name,money)) ##保留两位
      redhat本月的工资为8000.00
      >>> print('%s本月的工资为%.3f' %(name,money))##保留三位
      redhat本月的工资为8000.000
      >>> print('%s本月的工资为%.1f' %(name,money))##保留一位
      redhat本月的工资为8000.0
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    9) 格式化输出
    注意代码的可移植性,重新定以一个变量即可再次使用

     >>> sid = 1
      >>> print('%s的学号为250616020%d' %(name,sid))
      redhat的学号为2506160201
      >>> print('%s的学号为250616020%.2d' %(name,sid))
      redhat的学号为25061602001
      >>> print('%s的学号为250616020%.3d' %(name,sid))
      redhat的学号为250616020001
    

在这里插入图片描述
10)百分比表示
输出百分比
%.2f%%表示百分比

>>> scale = 0.1
>>> print('数据的比例是%.2f\%' %(scale * 100) )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: incomplete format
>>> print('数据的比例是%.2f%' %(scale * 100) )
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: incomplete format
>>> print('数据的比例是%.2f%%' %(scale * 100) )
数据的比例是10.00%
>>> 

在这里插入图片描述
python3中没有长整型

>>> a = 123456123456123456123456 字符串再长也只是int型
>>> type(a)
<class 'int'>
>>> 

在这里插入图片描述
python2中

>>> a = 123456789876543212345678987654321
>>> type(a)
<type 'long'>

在这里插入图片描述
str:表示是一个字符串类型
int:表示是一整型
bool:非0即为真(数字),不为空也是真 表示布尔型 真:ture 加false
float:小数类型,浮点数

>>> name = '闫璟玥'
>>> print(name)
闫璟玥
>>> type(name)
<class 'str'>
>>> age = 18
>>> type(age)
<class 'int'>
>>> gender = True
>>> type(gender)
<class 'bool'>
>>> bool(2)
True
>>> bool(0)
False
>>> bool(a)
True
>>> bool()
False
>>> 
>>> height = 162.0
>>> type(height)
<class 'float'>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
定义变量的时候 只有变量第一次出现时对这个变量是定义,后面的都是看到这个变量就直接使用
定义变量是在内存中申请了一块内存给他

>>> price = 0.5
>>> weight = 2.5
>>> money = price * weight
>>> print(money)
1.25
>>> 
>>> money = money - 1
>>> print(money)
0.25

在这里插入图片描述
在这里插入图片描述
11) 删除时用del

>>> a = 10
>>> a
10
>>> del a
>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> 

在这里插入图片描述
练习:计算一个人的平均成绩

name = input('请输入姓名:')
Chinese = float(input('请输入语文成绩:'))
Math = float(input('请输入数学成绩:'))
English = float(input('请输入英语成绩:'))
sumscore = Chinese + Math + English
avgscore = sumscore/3
print('%s的平均成绩为%.2f' %(name,avgscore))
print('语文成绩占的百分比为%.2f%%' %(Chinese/sumscore * 100))

在这里插入图片描述
在这里插入图片描述
python中的每一个缩进都是4个

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值