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学习笔记《一》的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段