Python入门1.0

环境配置

python解释器安装

(1)Python下载

(2)下载完毕后打开进行安装,勾选(all users),然后点击(customize installation)自定义安装

(3)全部默认勾选进行下一步

(4)安装路径,最好是自己创建一个新的路径方便查找,勾选项默认

(5) 安装完成之后,进行环境变量的设置,控制面板 ==》 系统和安全 ==》 系统 ==》 高级系统设置 ==》 环境变量 ==》 在系统变量中找到 path 双击 ==》 新建路径 Python解释器和 script

iDE安装(Pycharm)

(1)PyCharm下载

(2)自定义路径与操作系统选择

正课内容

1.Python的历史和概况

(1)Python的出生和应用

  • Python的诞生

    • 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。Guido作为一个语言设计爱好者,已经有过设计语言的尝试。这一次,也不过是一次纯粹的hacking行为。
  • Python的应用

    • Web应用开发
    • 操作系统管理、服务器运维的自动化脚本
    • 科学计算
    • 桌面软件
    • 服务器软件(网络软件)
    • 游戏
    • 构思实现,产品早期原型和迭代

(2)Python是什么样的编程语言

  • Python是一种面向对象、解释型、动态类型计算机程序设计语言

(3)优缺点

  • 优点

    • 简单

      • Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
    • 易学

      • 就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
    • 免费、开源

      • Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。
    • 可移植性

      • 由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行
    • 丰富的库

      • Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。
  • 缺点

    • 运行速度较慢

      • Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。
    • 代码不能加密

(4)Pyhon的种类

  • Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jyhton Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
  • IronPython Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy(特殊) Python实现的Python,将Python的字节码字节码再编译成机器码。

2.基础

2.1第一条编程语言

print ("Hello,Python!")
print ("To be, or not to be,it's a question.")
print ("TO  be, or not to be, it's uo to you.")
print ("Make it!")
print ("以梦为马,不负韶华!")

2.2print()函数

作用:在控制台打印信息

2.3注释

单行注释

# 这是单行注释
  • 多行注释

​ 三单引号

​ 三双引号

'''
多行注释1
'''

"""
多行注释2
"""

demo:

print ("Hello,Python!")
print ("To be, or not to be,it's a question.")
print ("TO  be, or not to be, it's uo to you.")
print ("Make it!")
print ("以梦为马,不负韶华!")
'''
测试一下三单引号注释;
三双引号省略
'''

2.3input()函数

作用:从外部获取值

用法:括号中可以提供提示信息

返回值为字符串类型

>>> a = input()
城市学院
>>> a
'城市学院'
>>> a = input("please Enter School Info:")
please Enter School Info:City College
>>> a
'City College'


>>> Date = input("please Enter The Date:")
please Enter The Date:2019.07.16
>>> Date
'2019.07.16'
>>>

2.4运行Python程序的三种方式

(1)解释器环境运行
cmd输入python之后
(2)脚本运行
(3)IDE 集成开发环境(Integrated Development Environment )
   - pycharm 
   - sublime
   - VS Code
   - Atom

2.5Python中常见的数据类型

数据的概念
Python中的数据类型(常见)
  • 数字(number)

    • 整形(int)

    • 浮点型(float)

    • 布尔型(bool) true false

    • 复数(complex)

  • 字符串(string)

  • 列表(list)

  • 元组(tuple)

  • 字典(dict)

  • 集合(set)

2.6变量和常量

变量
  • 概念

    • 程序可操作的存储区的名称;

    • 程序运行存储区中能够改变的数据;

每个变量都有自己的特定的数据类型

  • 作用:

    • 将数据存储到内存
  • 变量的定义

    • 命名
      规则:

    • 必须是字母、下划线、数字组合

    • 不能以数字开头

    • 不可一世Python的关键字

注意:

  • 见名知意

  • 分大小写

  • Python中,单下划线和双下划线开头的变量有特殊的通途,一般不推荐使用

变量定义
  • va1_name = 初始值

拓展:

关键字的查看

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>>

666,错误

City666,正确

_56city,正确

类型测试 type()

type(val_name)

内存地址ID()

id(val_name)
>>> li = {'a','b'}
>>> id(li)
1677184548424
>>> type(li)
<class 'set'>
<class 'tuple'>
>>> x = "abc"
>>> y = "def"
>>> z = x,y
>>> type(z)
<class 'tuple'>
常量

不变的量

pi,3.1415926

通常用大写,如

PI = 3.1415926

举例:

>>> x = "def"
>>> y = "abc"
>>> x
'def'
>>> y
'abc'
>>> x,y = y,x
>>> x
'abc'
>>> y
'def'
>>>
  • 变量交换的四种方法
    • temp = a
      a = b
      b = temp
    • a,b = b,a
    • a = a + b
      b = a - b
      a = a - b
    • a = a^b
      b = a^b
      a = a^b

2.7数字

  • 整型(int)
    • 32bit,取值范围 ( 2 31 ) − ( 2 31 − 1 ) (2^{31})-(2^{31}-1) (231)(2311)
    • 64bit,取值范围 ( 2 63 ) − ( 2 63 − 1 ) (2^{63})-(2^{63}-1) (263)(2631)

不区分长短整型

  • 浮点型(float)

  • 带小数点的数字

  • 布尔型(bool)

    • True
    • False
  • 复数(complex)

    • 实部(cpx.real)

    • 虚部(cpx.imag)

    • 共轭复数(cpx.conjugate())

   >>> cpx = complex(3,4)
   >>> cpx
   (3+4j)
   >>> cpx.real
   3.0
   >>> cpx = complex(3,4)
   >>> cpx.conjugate()
   (3-4j)
   >>>

常见的数学函数
函数描述
abs(x)绝对值
pow(x,y) x y x^y xy
round(x,[n]返回四舍五入的值,如果给出n,表明四舍五入后的小数点的位数
math.exp(x)返回e的x次幂
math.fabs(x)返回绝对值,类型为浮点数
math.ceil(x)返回数字的上入整数
math.floor(x)返回数字的下舍整数
math.log(x,y)单参数默认以e为底,双参数默认以y为底
math.modf(x)返回浮点数的小数部分和整数部分
math.sqrt(X)平方根
m a x ( x 1 , x 2 , . . . ) max(x_1,x_2,...) max(x1,x2,...)返回最大值
m i n ( x 1 , x 2 , . . . ) min(x_1,x_2,...) min(x1,x2,...)返回最小值`

2.8表达式与运算符

  • 表达式

    • 由变量,常量和运算符组成的式子,称为表达式
  • 运算符

    • 算术运算符
    • 比较运算符
    • 逻辑运算符
    • 赋值运算符
    • 成员运算符
    • 身份运算符
    • 位运算符
Python算术运算符
运算符描述实例
+相加/拼接a+b
-相减/求差集a-b
*相乘a*b
/相除a/b
**幂运算x**y
%取模(余数)a%b
//取整除(商)a//b

拓展

divmod(x,y)

返回:X除以Y的商和余数(以元组的形式)

>>> 23/5
4.6
>>> 2**3
8
>>> 2%3
2
>>> 2//3
0
>>> divmod(23,4)
(5, 3)
>>>
Python比较运算符
运算符描述
==检查两个操作数的值是否相等,如果是则条件变为真
!=检查两个操作数的值是否相等,如果值不相等,则条件变为真
<>检查两个操作数的值是否相等,如果值不相等,则条件变为真
>检查左操作数的值是否大于右操作数的值,如果是,则条件成立
<检查左操作数的值是否小于右操作数的值,如果是,则条件成立
>=检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立
<=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立
Python逻辑运算符
运算符逻辑表达式描述
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
orx or y布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
Python赋值运算符
运算符描述
=最简单的赋值运算符。 c = a + b 表示将 a + b 的运算结果赋值给c
+=加法赋值运算符。 c += a表示 c = c + a
-=减法赋值运算符。 c -= a表示 c = c - a
/=除法赋值运算符。 c /= a表示 c = c / a
*=乘法赋值运算符。 c *= a表示 c = c * a
//=整除赋值运算符。 c //= a表示 c = c // a
%=取模赋值运算符。 c %= a表示 c = c % a
**=幂赋值运算符。 c **= a表示 c = c ** a
Python位运算符

按位数运算符是把数字看做二进制来计算.常见的位运算符如下:

运算符描述
&按位"与",同为1才为1,否则为0
|按位"或",有1即为1
^按位"异或",同0非1
~按位"取反",~x 得到 -x-1
<<左移运算符
>>右移运算符
a = 15
b = 31


二进制分别对应
a --> 0000 1111
b --- 0001 1111
a &  0000 1111
a | b 0001 1111
a ^ b 0001 0000
~a   -16
a>>2 0000 0011
a<<2 0011 1100
Python成员运算符

测试是否包含某个成员,一般测试字符串、列表、元组

运算符描述
in存在序列中,返回true,否则false
not in不存在序列,返回true,否则false

demo:

>>> sr = "abc"
>>> "a" in sr
True
>>> "a" not in sr
False
>>>
>>> li = list(sr)
>>> li
['a', 'b', 'c']
>>> "a" in li
True
Python的身份运算符

用于比较两个对象的存储单元

id()

运算符描述
is判断连个标识符是否引用同一个对象
not is判断连个标识符是否引用同一个对象

demo:

>>> a = "ab"
>>> b = "ab"
>>> a is b
True
>>> id(a)
1677184504192
>>> id(b)
1677184504192

2.9数据类型的强制转换

强转类型描述
int(x,[base])将x强制转化为整型。如果x是字符串们需要制定base基数
float(X)将x转换为浮点型
str(X)强转为字符串
repr(x)将对象转换为表达式字符串
list(X)
tuple(X)
dict(X)
set(X)
chr(X)将整数转换为字符
ord(X)将字符转换为数值
bin(X)转换为二进制
oct(X)专委为八进制
hex(X)转换为十六进制
>>> a = 12.3
>>> int(a)
12
>>> sr = "123"
>>> int(sr)
123
>>> int(sr,8)
83
>>> 8**2+2*8+3
83
>>> int(sr,16)
291
>>> 16**2+2*16+3
291
>>> chr(65)
'A'
>>> ord("城")
22478
>>>

2.10随机函数

导入这个模块

import random

random模块的常见功能

(1)random.random()

  • 用来生成一个0-1的随机浮点数[0,1)
import random
# print(dir(random))
for i in range(100):
    a = random.random()
    print(a,end=" ")

(2)random.uniform(a,b)

  • 用来生成指定范围内的浮点数,[a,b]
import random
# print(dir(random))
for i in range(100):
    a = random.uniform(6,8)
    print(a,end=" ")

(3)random.randint(a,b)

  • 用来生成指定范围内的整数,[a,b]
import random
# print(dir(random))
for i in range(100):
    a = random.randint(6,10)
    print(a,end=" ")

(4)random.randrange([strart],stop,[step])

  • 从指定范围内,按指定基数递增或者递减的集合中,随机获取一个整数
import random
for i in range(100):
    a = random.randrange(1,16,3)
    #1,1+3,1+3*2,...,1+5*3
    print(a, end=" ")

(5)random.choice(sequence)

  • 从序列中随机获取一个元素,sequnence可以为列表,字符串或元组
import random
for i in range(100):
  #  a = random.randrange(1,16,3)
    b = random.choice(range(1,16,3))
    print(b, end=" ")

(6)random.shuffle(x[,random])

  • 用来将一个列表的元素打乱
import random
li = ["1","b","c","d","e"]
for i in range(5):
  #  a = random.randrange(1,16,3)
    random.shuffle(li)
    print(li, end=" ")

(7)random.sample(sequence,k)

import random
li = ["1","b","c","d","e"]
for i in range(5):
    print(random.sample(li,4))
    print(li) #li 没有改变序列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值