Python第一步

诈胡艺术 2020-11-13 03:23:23
Python 第一 一步 第一步


1.Python是一种解释性语言,没有了编译环节。

  • py和pyc  所以是有没有编译?

2.像Perl一样遵循GPL(GNU General Public License)协议。

3.脚本化:可以嵌入到C/C++程序。

4.可扩展:需要一段运行很快的代码,或者不愿公开的代码,可以使用C或C++完成那部分程序,再用Python调用。

注:关于Python的更细节的东西,在不断理解的基础上深化。


【规范】

Python 标识符

  • 单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
  • 双下划线开头的 __foo 代表类的私有成员;
  • 以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

Python空行

  • 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
  • 空行并不是Python语法的一部分。

【变量类型】

  • Python 中的变量赋值不需要类型声明
  • 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
  • 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
  • Python允许你同时为多个变量赋值(a=b=c=1;a,b,c=1,2,'s')

标准数据类型

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

Python数字

  • 不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
  • int
  • long(也可8进制和16进制)(末尾加L或者l),- 无限大小的整数
  • float
  • complex(用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。)

Python字符串

  • 字符串或串(String)是由数字、字母、下划线组成的一串字符。
  • 2种取值顺序:(从左到右索引默认0开始的,最大范围是字符串长度少1;从右到左索引默认-1开始的,最大范围是字符串开头)
  • 获取一段子字符串: [头下标:尾下标]
  • 加号(+)是字符串连接运算符,星号(*)是重复操作。(r/R)原始字符串
  • Python不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
  • Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

Python列表

  • [,,,,]
  • 列表中值的切割也可以用到变量 [头下标:尾下标]
  • 字符串相当于一个字符列表
  • 列表的数据项不需要具有相同的类型
    • 可以使用 del 语句来删除列表的元素( del list1[2] )
    • 使用append()方法来添加列表项(list.append('ss'));
    • list.pop([index=-1])
      移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    • list.remove(obj)
      移除列表中某个值的第一个匹配项
  • 列表对 + 和 * 的操作符与字符串相似。
  • a[:] 是创建 a 的一个副本,这样我们在代码中对 a[:] 进行操作后,就不会改变 a 的值了。而若直接对 a 进行操作,那么 a 的值会收到一些操作的影响

Python元组

  • 元组用"()"标识。内部元素用逗号隔开。
  • 元组不能二次赋值,相当于只读列表。
  • tuple(seq)  将列表转换为元组。
  • 元组的一级元素不可被修改增加删除但可以修改二级后的。
如修改元祖中列表,字典等内容:
  • 元组中只包含一个元素时,需要在元素后面添加逗号:
tup1 = (50,)
Python 字典
  • 列表是有序的对象集合,字典是无序的对象集合。
  • 字典是可变容器模型,且可存储任意类型对象
  • 字典当中的元素是通过键来存取的,而不是通过偏移存取。
  • 用"{ }"标识。字典由索引(key)和它对应的值value组成。
d = {key1 : value1, key2 : value2 }
  • 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
  • 删除相关

del dict['Name']; # 删除键是'Name'的条目

dict.clear();     # 清空词典所有条目

del dict ;        # 删除词典


Python数据类型转换

  • 数据类型的转换,你只需要将数据类型作为函数名即可。

【Python运算符】

  • Python 中没有 ++ 或 -- 自运算符

Python算术运算符

  • **  幂
  • // 取整除,返回商的整数部分(  9//2 输出结果 4 , 9.0//2.0 输出结果 4.0  )
  • 注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

Python逻辑运算符(非0即为真)

  • x and y:布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
  • x or y: 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
  • not x:  布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

Python成员运算符

  • in:如果在指定的序列中找到值返回 True,否则返回 False。
  • not in 如果在指定的序列中没有找到值返回 True,否则返回 False。

Python身份运算符

  • is :是判断两个标识符是不是引用自一个对象【x is y, 类似 id(x) == id(y)】(注: id() 函数用于获取对象内存地址。)
  • is not :是判断两个标识符是不是引用自不同对象
  • :is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
  • 【注】为了提高内存利用效率对于一些简单的对象,如一些数值较小的int对象,python采取重用对象内存的办法

【Python 基本分支结构】

Python 条件语句
  • Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
  •  python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现。

循环使用 else 语句

  • 在 python 中,while … else 在循环条件为 false 时执行 else 语句块(不是通过break跳出而中断的)
  • 类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中
  • ——(while (flag): print 'Given flag is really true!')
  • for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

【函数】

  • 在 python 中,类型属于对象,变量是没有类型的:

a=[1,2,3]

a="Runoob"

以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是 List 类型对象,也可以指向 String 类型对象。

  • 参数传递:传不可变对象和传可变对象。

传不可变对象:如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

传可变对象:如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

  • 参数

必备参数:须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

printme("再次调用同一函数");

关键字参数:允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

printinfo( age=50, name="miki" );

默认参数:缺省参数的值如果没有传入,则被认为是默认值

def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name;
print "Age ", age;
return;

不定长参数:可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。加了星号(*)的变量名会存放所有未命名的变量参数。

def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print "输出: "
print arg1
for var in vartuple:
print var
return;

Python 文件I/O

  • 键盘输入

raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):

 input 可以接收一个Python表达式作为输入,并将运算结果返回。

str = input("请输入:")
print "你输入的内容是: ", str
请输入:[x*5 for x in range(2,10,2)]
你输入的内容是: [10, 20, 30, 40]
  • 打开和关闭文件

必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

tell()方法告诉你文件内的当前位置

seek(offset [,from])方法改变当前文件的位置。

Python 异常处理

  • 两个非常重要的功能来处理python程序在运行中出现的异常和错误。

异常处理;

断言(Assertions);

  • 异常处理

try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

try:
fh = open("testfile", "w")
fh.write("这是一个测试文件,用于测试异常!!")
except IOError:
print "Error: 没有找到文件或读取文件失败"
else:
print "内容写入文件成功"
fh.close()
  • 触发异常

可以使用raise语句自己触发异常

# 定义函数
def mye( level ):
if level < 1:
raise Exception,"Invalid level!"
# 触发异常后,后面的代码就不会再执行
try:
mye(0) # 触发异常
except Exception,err:
print 1,err
else:
print 2
  • 用户自定义异常

通过创建一个新的异常类,程序可以命名它们自己的异常。

版权声明
本文为[诈胡艺术]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_38019841/article/details/80627969

  1. 利用Python爬虫获取招聘网站职位信息
  2. Using Python crawler to obtain job information of recruitment website
  3. Several highly rated Python libraries arrow, jsonpath, psutil and tenacity are recommended
  4. Python装饰器
  5. Python实现LDAP认证
  6. Python decorator
  7. Implementing LDAP authentication with Python
  8. Vscode configures Python development environment!
  9. In Python, how dare you say you can't log module? ️
  10. 我收藏的有关Python的电子书和资料
  11. python 中 lambda的一些tips
  12. python中字典的一些tips
  13. python 用生成器生成斐波那契数列
  14. python脚本转pyc踩了个坑。。。
  15. My collection of e-books and materials about Python
  16. Some tips of lambda in Python
  17. Some tips of dictionary in Python
  18. Using Python generator to generate Fibonacci sequence
  19. The conversion of Python script to PyC stepped on a pit...
  20. Python游戏开发,pygame模块,Python实现扫雷小游戏
  21. Python game development, pyGame module, python implementation of minesweeping games
  22. Python实用工具,email模块,Python实现邮件远程控制自己电脑
  23. Python utility, email module, python realizes mail remote control of its own computer
  24. 毫无头绪的自学Python,你可能连门槛都摸不到!【最佳学习路线】
  25. Python读取二进制文件代码方法解析
  26. Python字典的实现原理
  27. Without a clue, you may not even touch the threshold【 Best learning route]
  28. Parsing method of Python reading binary file code
  29. Implementation principle of Python dictionary
  30. You must know the function of pandas to parse JSON data - JSON_ normalize()
  31. Python实用案例,私人定制,Python自动化生成爱豆专属2021日历
  32. Python practical case, private customization, python automatic generation of Adu exclusive 2021 calendar
  33. 《Python实例》震惊了,用Python这么简单实现了聊天系统的脏话,广告检测
  34. "Python instance" was shocked and realized the dirty words and advertisement detection of the chat system in Python
  35. Convolutional neural network processing sequence for Python deep learning
  36. Python data structure and algorithm (1) -- enum type enum
  37. 超全大厂算法岗百问百答(推荐系统/机器学习/深度学习/C++/Spark/python)
  38. 【Python进阶】你真的明白NumPy中的ndarray吗?
  39. All questions and answers for algorithm posts of super large factories (recommended system / machine learning / deep learning / C + + / spark / Python)
  40. [advanced Python] do you really understand ndarray in numpy?
  41. 【Python进阶】Python进阶专栏栏主自述:不忘初心,砥砺前行
  42. [advanced Python] Python advanced column main readme: never forget the original intention and forge ahead
  43. python垃圾回收和缓存管理
  44. java调用Python程序
  45. java调用Python程序
  46. Python常用函数有哪些?Python基础入门课程
  47. Python garbage collection and cache management
  48. Java calling Python program
  49. Java calling Python program
  50. What functions are commonly used in Python? Introduction to Python Basics
  51. Python basic knowledge
  52. Anaconda5.2 安装 Python 库(MySQLdb)的方法
  53. Python实现对脑电数据情绪分析
  54. Anaconda 5.2 method of installing Python Library (mysqldb)
  55. Python implements emotion analysis of EEG data
  56. Master some advanced usage of Python in 30 seconds, which makes others envy it
  57. python爬取百度图片并对图片做一系列处理
  58. Python crawls Baidu pictures and does a series of processing on them
  59. python链接mysql数据库
  60. Python link MySQL database