@ [TOC]学习一样东西首先要找的是参考资料,参照别人的智慧结晶升华自己对这方面的认识。而我参照的是[菜鸟(我)教程(https://www.runoob.com / python / python- tutorial.html),CSDN和其他论坛大佬们的经验.python近几年在编程语言中节节攀升,作为小码农的我也想学一学,所以写一写自己的学习历程。![在这里插入图片描述](https://img-blog.csdnimg.cn/20190630152430284.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMTk0MzAx,size_16,color_FFFFFF,t_70 )
一,蟒和Ç语言的区别
| C | python | | - | - | | 编译期型语言,速度较快,跨不可平台个人文库| 解释型语言,速度较慢,跨柯林斯平台个人文库| | 面向过程编程(面向过程编程,OPP)| 面向对象编程(面向对象编程,OOP)| | 使用变量前要先定义| 动态语言,预先不需要定义变量| | 有指针功能| 无指针功能,考虑不需要数据溢出状语从句:精度的问题| | 较复杂| 较简单| | 无复杂的数据结构| 有复杂的数据结构| | &&,\ | \ | ,!| 与,或,不是|
| C直接编译为机器代码,由CPU直接执行| 首先将Python编译为字节码,然后由大型C程序解释
二,蟒蛇环境搭建
详见[ python环境搭建](https://www.runoob.com/python/python-install.html)。(copy就免了吧)
三,IDE编码问题
想要输出中文,要指定能表示中文字符的编码,否则会出现无声明对应的编码错误。
**解决方式一:**在代码中添加下面这段程序。
```蟒蛇#在/ usr / bin中/ env的python3#指定用什么解释器运行脚本以及指出解释器所在的位置!# - * -编码:UTF-8 - * - #指定文件编码为UTF-8 `` `
当然也可以不用每次新建文件都输入这些代码,我们可以在文件模板那里进行编辑,如下图。![在这里插入图片描述](https://img-blog.csdnimg.cn/20190630153742279.png? x-oss-process = image / watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMTk0MzAx,size_16,color_FFFFFF,t_70)
解决方式二: 在IDE中设置编码格式。
设置完之后就可以正常输出中文了。
四、python基础语法
(一)、python标识符
和C语言一样,python中标识符都是由字母、数字、下划线组成且区分大小写,开头只可以是英文和下划线。
另外,部分下划线开头的标识符是有特殊意义的。
e.g.
以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
以双下划线开头的__foo 代表类的私有成员.
以双下划线开头和结尾的__foo__代表 Python 里特殊方法专用的标识,如__init__()代表类的构造函数。
(二)、python保留字符(关键字)
关键字 | 意义 | 示例 |
---|---|---|
and | 若无假值,返回最后一个真值;若有假值,则返回第一个假值。 | 1 and 2 = 2; {} and ‘’ = {}; |
exec | 动态执行python代码,可执行复杂的代码。exec(source, globals=None, locals=None, /) | exec(“print(‘hello’)”) # 执行print(‘hello’) |
eval | 计算指定表达式的值,只能是单个表达式eval(source, globals=None, locals=None, /) | eval(“x+y”, {“x”: 1, “y”: 2}) # 输出3 |
compile | compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) | code_eval = compile(‘10 + 20’, ‘’, ‘eval’); eval(code_eval) # 30 |
not | 逻辑非;判断元素是否在列表或者字典中 | not 1 # False |
assert | 输出报错信息 assert condition(True/False) | assert False # 报错 |
try | 用于捕捉异常,和except搭配使用 | - |
finally | 无论try语句中是否抛出异常,finally中的语句一定会被执行 | - |
except | 用于捕捉异常,和try搭配使用 | - |
or | 若无真值,返回最后一个假值,若有真值,则返回第一个真值 | {} or ‘’ = ‘’; 1 or 2 = 1; |
break | 打破最小封闭for或while循环 | 停止执行最深层的循环 |
for | 可以遍历任何序列的项目,如一个列表或者一个字符串 | for letter in ‘Python’: print ‘当前字母 :’, letter #注意缩进 |
pass | 不做任何事情,一般用做占位语句 | - |
class | 类 | - |
from | 导入类 | from 模块名(即类所处的文件名)import 类名 |
打印输出 | print(“Hello, world”) | |
continue | 跳出本次循环,继续进入下一轮循环 | - |
global | 定义变量为全局变量 | - |
raise | 程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常。一旦执行了raise语句,raise后面的语句将不能执行 | raise IOError |
def | 定义函数 | - |
if | 判断语句if…elif…else | - |
elif | 判断语句 | - |
else | 判断语句 | - |
return | 将结果返回到调用它的地方,并把程序的控制权一起返回 | return 1 |
while | 在某条件下,循环执行某段程序,以处理需要重复处理的相同任务 | - |
del | 删除变量(解除引用,和C语言delete不同),而非数据 | a=1;b=a;del a;print(b) #1 |
import | 导入模块 | - |
in | 判断特定的值是否存在列表中 | for num in array: |
is | 比较两个对象是不是完全相同,是不是同一个对象,占用的内存地址是否相同 | a = [“1”]; b= a; print(a is b) # True |
with | 简化资源操作的后续清除操作,是 try/finally 的替代方法,实现原理建立在上下文管理器之上 | with test5(‘test.txt’, ‘w’) as f: f.write(“1234”) |
yield | 把一个函数变成一个迭代器 | - |
next | 返回迭代器的下一个项目 | - |
lambda | 创建匿名函数 | lambda [arg1 [,arg2,…argn]]:expression |
注:在python里面,0、’’、[]、()、{}、None为假,其它为真。
(三)、行和缩进
Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,否则会报错。
for letter in 'Python':
if letter == 'h':
break
print('当前字母 :', letter)
(四)、多行语句
python里面多行语句采用’'来将一行的语句分为多行显示。
sum = num1 + \
num2
(五)、引号
Python 可以使用引号( ’ )、双引号( " )、三引号( ‘’’ 或 “”" ) 来表示字符串,引号的开始与结束必须的相同类型的。
其中三引号可用作注释使用。
'''
你
好
'''
"""
世
界
"""
(六)、注释
python单行注释采用’#'来表示。
# Welcome to Python
(七)、命令行参数
在CMD中输入python -h出现以下命令。
-s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S : don't imply 'import site' on initialization
-t : issue warnings about inconsistent tab usage (-tt: issue errors)
-u : unbuffered binary stdout and stderr; also PYTHONUNBUFFERED=x
see man page for details on internal buffering relating to '-u'
-v : verbose (trace import statements); also PYTHONVERBOSE=x
can be supplied multiple times to increase verbosity
-V : print the Python version number and exit (also --version)
-W arg : warning control; arg is action:message:category:module:lineno
also PYTHONWARNINGS=arg
-x : skip first line of source, allowing use of non-Unix forms of #!cmd
-3 : warn about Python 3.x incompatibilities that 2to3 cannot trivially fix
file : program read from script file
- : program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv[1:]
Other environment variables:
PYTHONSTARTUP: file executed on interactive startup (no default)
PYTHONPATH : ';'-separated list of directories prefixed to the
default module search path. The result is sys.path.
PYTHONHOME : alternate <prefix> directory (or <prefix>;<exec_prefix>).
The default module search path uses <prefix>\lib.
PYTHONCASEOK : ignore case in 'import' statements (Windows).
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
PYTHONHASHSEED: if this variable is set to 'random', the effect is the same
as specifying the -R option: a random value is used to seed the hashes of
str, bytes and datetime objects. It can also be set to an integer
in the range [0,4294967295] to get hash values with a predictable seed.
C:\Users\Administrator>
大家感兴趣的话可以看我下一篇文章,谢谢大家。
从n开始学习python(二)
参考资料:[ Python与C的简单比较 ](https://www.cnblogs.com/mlgjb/p/7892130.html)[ 菜鸟教程 ](https://www.runoob.com/python/python-tutorial .html)[ exec,eval,compile用法 ](https://www.cnblogs.com/yangmingxianshen/p/7810496.html)[ 尝试除标准异常情况一览 ](https://www.runoob.com/python /python-exceptions.html)[ Python的命令行参数 ](https://www.runoob.com/python/python-command-line-arguments.html)