Python01-初识python

Python应用领域

云计算 web开发 系统运维 金融(量化交易,金融分析)

编译型语言:源代码—>>> 目标文件---->>>链接程序(可执行文件),诸如C语言。适合执行速度快,大型应用程序和数据库系统。

Python 解释型语言,边解释边执行,它的运行离不开解释器,执行效率比编译型语言效率低很多。 解释型语言更容易移植, 只要有相应的解释器,移植不是问题。

动态类型语言 是指在运行期间才会做数据类型校验。python和rubby
静态类型语言的数据类型是在编译期间检查的,也就是在编写源代码时就必须声明数据类型。

强类型语言和弱类型语言
强类型语言一旦指定数据类型,若不经过强制类型转换,类型不变。
弱类型语言,一个变量可以赋予不同数据类型

Python 优缺点
优点:简单易懂 三方库非常强大 可移植性好 可扩展 可嵌入性
缺点:速度相对较慢, 代码不能加密,线程不能利用多核CPU问题(GIL全局解释器锁,是解释器用于同步线程的工具,使得任何时 刻仅有一个线程在 执行,python的线程是操作系统的原生线程,在linux上为pthread,完全由操作系统调度线 程的执行。一 个解释器进程内由一个主线程,多个用户程序的执行线程,即使在多核cpu上,由于GIL的存在,禁止多线程的并发执行)。

Python解释器

CPython 是使用最技术的解释器
IPython是基于CPython的交互式解释器,交互方式上有所增强。
PyPy采用JIT即时编译技术,对代码动态编译,可以显著提高代码的执行速度。绝大部分Python代码可以在pypy下执行,但和CPython有一些不同。
Jython是运行在java平台上的Python解释器,把python代码编译成jav字节码执行。

2.4 2004
2.5 2006
2.6 2008
2.7 2010
3.0 2008 默认支持中文字符

第一个python程序
print(“hello world!”)保存为Xxx.py后缀的文件,然后python Xxx.py

在linux系统中可在源码的第一行声明环境变量
#!/usr/bin/env python 查找环境变量,推荐使用。
#!/usr/bin/python 在/usr/bin/下查找python,若查找不到便会出错。

变量名定义规则
1,由字母 数字或下划线组成,且只能以字母和下划线开始
2, 下列关键字不能作为变量名 and as assert break class continue def del elif else except exec finally for from global if import
in is lambda not or pass print raise return try while with yield

规范: 见名知意 驼峰命名法
python 没有常量的概念,如果确实需要可以用全大写的变量名表示这是常量,表示它不能更改,语法上是可以更改的。

字符编码

ASCII 使用2进制表示字符,使用8位即可表示英文的字符
1980年 GB2312收录6763个汉字和682个其他字符
1995年 GBK1.0 收录了21886个符号,包含21003个汉字。它兼容GB2312
2000年 GB18030 收录27484个汉字,还收录了藏文,蒙文,维吾尔文等少数民族文字。现在的PC平台必须支持GB18030,嵌入式不做要求
汉字都是双字节字符集
unicode每个字符和符号最少用2个字节,可能更多。
utf-8是unicode的一种,但是它存ASCII字符里的字符是1个字节,欧洲字符用2个字节,东亚的字符用3个字节,中文也是3个字节。
python解释器在加载.py文件中的代码时,会对内容进行编码(默认是ASCII)

单行注释 : # 被注释内容
多行注释: ‘’‘注释内容’’’ “”“注释内容”""
‘’‘多行字符串’’’
python中单引号和双引号完全一致。

%s %d %f 分别是字符串占位符, 整型占位符,浮点占位符。%是占位符
python键盘输入默认是字符串类型。print(type(age))打印类型

#格式化输出
name = input("please input name:")
age = (input("please input age:"))
score = (input("please input score:"))

#字符串拼接1
info = '''
------info of ''' + name +'''-------
name:''' + name + '''
age:''' + age +'''
score:''' +score
print(info)

#字符串拼接2 使用格式化输出占位符 %s:字符串 %d:整型 %f: 浮点型
info2 = '''
------info2 of %s -------
name: %s
age:%s
score: %s
''' % (name, name, age, score)
print(info2)

‘’‘字符串拼接3 使用格式化输出占位符 %s:字符串 %d:整型 %f: 浮点型
python2.X中的raw_input()和Python3.X中的input()作用一致
python2.X中的input()中的键盘输入必须使用"内容",否则认为是变量。
‘’’

info3 = '''
------info3 of {_name} -------
name: {_name}
age:{_age}
score: {_score}
'''.format (_name = name, _age= age, _score = score)
print(info3)

info4 = '''
------info4 of {0} -------
name: {0}
age:{1}
score: {2}
'''.format (name, age, score)
print(info4)

初始模块

python有非常强大和丰富的标准库和第三方库
标准库不需要安装,直接导入import即可使用;标准库一般放在E:\PycharmProjects\venv\lib
三方库需要安装后,然后导入import才可以使用。三方库一般在E:\PycharmProjects\venv\lib\site-packages

# Author:Eason
import sys
#打印环境变量
print(sys.path)

#打印入参
print(sys.argv)
print(sys.argv[0])

import os
#os.system只执行,并不能保存执行的结果
print(os.system("dir"))

'''os.popen()将执行的结果保存到内存,
op.popen("dir")返回的是内存地址,
read()将内存中的内容读取出来。'''
dirContent = os.popen("dir").read()

pyc文件

PyCodeObject则是Python编译器真正编译成的结果。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

if条件循环和for,while条件循环
所有非子级代码都需要顶格写,否则解释出错。
if 条件:代码块 ~else:
if 条件1: 代码块 ~elif 条件2 : 代码块2 ~else: 代码块3
while 循环条件: 代码块1 else: 代码块2 循环条件成立,执行代码块1,不成立则执行代码块2。此外break会推出整个循环结构。

for i in range(10):循环体
for i in range(0,10,2) :循环体 步长为2
enumerate(list)方法会返回索引,以及每个元素,一般用于for循环的条件
break结束循环 continue结束本次循环开始下次循环;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值