Python学习笔记《一》

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记《一》相关的知识,希望对你有一定的参考价值。

#/usr/bin/env python3
# -*- coding: utf-8 -*-
#date:2016-02-23

‘‘‘注:由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
!/usr/bin/env python3
-*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码
‘‘‘
#《1》---------变量赋值的使用------------

#1.1直接赋值
#name=‘liuqinghui‘
#1.2 让用户输入值
name=input(‘please enter password:‘)
#print(‘hello ‘, name)
if name == ‘liuqh123‘:
    print(‘I come in ‘)
else:
   print(‘I not come in‘)

‘‘‘代码缩进问题:Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。
不然会“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确
否则报错:
IndentationError: expected an indented block
>>> else:
  File "<stdin>", line 1
    else:
       ^
SyntaxError: invalid syntax
‘‘‘

#》》》》》》》》》》》》》》》》》数据类型《《《《《《《《《《《《《《《《《《《《《《

#《2》---------字符串------------
‘‘‘
2.1 如果字符串内部既包含‘又包含"怎么办?可以用转义字符\来标识,比如:‘I\‘m \"OK\"!‘
2.2 转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是
2.3 如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r‘‘表示‘‘内部的字符串默认不转义,

>>> print(r‘\\\t\\‘)
\\\t2.4 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用‘‘‘...‘‘‘的格式表示多行内容,
>>> print(‘‘‘line1
... line2
... line3‘‘‘)
line1
line2
line3
2.5  Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
	>>> ord(‘A‘)
	65
	>>> ord(‘中‘)
	20013
	>>> chr(66)
	‘B‘
	>>> chr(25991)
	‘文‘

2.6 在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:

>>> ‘Hello, %s‘ % ‘world‘
‘Hello, world‘
>>> ‘Hi, %s, you have $%d.‘ % (‘Michael‘, 1000000)
‘Hi, Michael, you have $1000000.‘
你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串;

有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%;
‘‘‘

#《3》---------常量------------
‘‘‘
常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

‘‘‘

#《4》---------空值------------
‘‘‘
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
‘‘‘

#《5》---------计算 ------------
‘‘‘
在Python中,有两种除法,一种除法是/:

>>> 10 / 3
3.3333333333333335
/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:

>>> 9 / 3
3.0
还有一种除法是//,称为地板除,两个整数的除法仍然是整数:

>>> 10 // 3
3
你没有看错,整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以。

因为//除法只取结果的整数部分,所以Python还提供一个余数运算,可以得到两个整数相除的余数:

>>> 10 % 3
1
无论整数做//除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。


注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。

Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。

‘‘‘


#--------------------使用list和tuple------------
‘‘‘
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

>>1.1给集合赋值:

1)classmates = [‘Michael‘, ‘Bob‘, ‘Tracy‘]

2)追加元素到末尾:classmates.append(‘Adam‘)

3)把元素插入到指定的位置:classmates.insert(1, ‘Jack‘)

>>1.2获取集合的值
1)classmates
2)classmates[?]
注:当索引(?)超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。

如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素:


>>1.3删除集合的元素
1)删除list末尾的元素,用pop()方法:classmates.pop()
2)要删除指定位置的元素,用pop(i)方法,其中i是索引位置:classmates.pop(1)
3)要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:


【另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字】

>>> classmates = (‘Michael‘, ‘Bob‘, ‘Tracy‘)
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来。


>>1.4最后来看一个“可变的”tuple:

>>> t = (‘a‘, ‘b‘, [‘A‘, ‘B‘])
>>> t[2][0] = ‘X‘
>>> t[2][1] = ‘Y‘
>>> t
(‘a‘, ‘b‘, [‘X‘, ‘Y‘])


原来int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。

‘‘‘
#-----------------------循环-------------------------

‘‘‘
1>

names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]
for name in names:
    print(name)

2>

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)


以上是关于Python学习笔记《一》的主要内容,如果未能解决你的问题,请参考以下文章

Python 3学习笔记

python 机器学习有用的代码片段

AngularJS入门学习笔记一

python爬虫学习笔记-M3U8流视频数据爬虫

Python学习笔记《一》

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段