Path to Python(1)
来源:互联网 发布:网络保险和传统保险 编辑:程序博客网 时间:2024/05/21 17:11
这系列的python学习笔记,是根据廖雪峰老师的官网教程学习总结的,因此很多代码也是从网站直接截取的,笔记内容比较单一,原创性较差。但是会同时参考其他的学习资料,不断修改文章,争取让内容更加丰富,有更多自己的思考和练习。
交互:输入和输出
输入:
variable=input()
带提示输入:
variable=input(’please input your content of variable’)
输出:
print(’the content of your variable is:’,variable)
注意:’ ‘内的内容是字符,不是变量值
数据类型
整数:
1.负整数写法和数学相同
2.有时用十六进制表示整数:0x是前缀
浮点数:可用科学记数法表示。整数运算是精确的,但浮点数是可能有四舍五入的误差的。
*除法中,/的结果是浮点数,而//的结果是整数,因此有%表示求余,结果也是整数。因此整数的运算均为精确的。
字符串:用’ ‘或” “表示,若字符串内部含有’或者”,应在前加转义字符\。
\n:表示换行;
\t:表示制表符;
\:表示\。
如果需要转义的字符过多,有一段连续的不需要转义的字符串,可以使用r’ ‘,’ ‘中的内容不转义。
如果需要换行的次数过多,可以使用”’ ”’括起内容。
布尔值:True或者False,也可通过布尔运算得到。布尔运算包括:and,or,not。
空值:Python中特殊的值,与0不同,用None表示。
变量:用=给变量赋值,可以多次赋不同类型的数据,称为动态语言。
变量在计算机内的内存:
a=’ABC’
1.在内存中建立’ABC’字符串;
2.在内存中建立变量a,并指向’ABC’。
b=a
建立变量b,指向a之前指向的字符串’ABC’。
常量:全部大写变量名表示常量,如PI。
练习:
n=123f=456.789s1='Hello,world's2='Hello,\'Adam\''s3=r'Hello,"Bart"'s4=r'''Hello,Lisa!'''print('n=',n)print('f=',f)print('s1=',s1)print('s2=',s2)print('s3=',s3)print('s4=',s4)
编码
ASCII:一个字符占用1个字节。
unicode:一个字符占用1个字节,如果非常偏僻的字符使用4个字节。
UTF-8:ASCII中的字符占用1个字节,中文字符一般占用3个字节,生僻的字符使用4-6个字节。可以看成在ASCII基础上进行了扩展。
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
Python中的字符串:
单个字符:可以使用ord()函数获取字符的整数表示,chr()将编码转换为字符。Python的字符串类型为str,用unicode编码:’ABC’,一个字符占用数个字节。但保存到磁盘时用UTF-8编码,类型为bytes:b’ABC’,一个字符只占用一个字节。
str和bytes之间的转换:
–将内存中的内容存到磁盘或网页中时,要将str转换为bytes,利用encode()函数
纯英文的str可以用ASCII编码为bytes:’ABC’.encode(‘ascii’)
含有中文的str要用UTF-8编码为bytes:’ABC’.encode(‘utf-8’)
–从磁盘或网络上读取字节流时得到的是bytes,要转化为str,利用decode()函数
b’ABC’.decode(‘ascii’)
b’中文’.decode(‘utf-8’)
其他函数:
len():对于str,计算字符数;对于bytes,计算字节数。
为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。
格式化字符串:利用%s,%d,%f将其格式化。
练习:
s1=72s2=85p=(s2/s1-1)*100print('成绩提高了%.1f%%'%p)
有序列表
list:
list是有序的集合,可以用len()得到元素个数,用索引访问每一个位置的元素,从0开始。如果超出list的范围,报错显示为IndexError。如果索引最后一个元素,可以直接通过classmate[-1]得到,其他位置以此类推。
向列表中末尾处添加元素,使用append方法:list.append(’ ‘)。
向列表某处指定位置添加元素,使用insert()方法:list.insert(’ ‘)。
从列表中删除元素,使用pop()方法:
-末尾元素则是list.pop();
-指定位置的元素则是list.pop(i);
替换某个位置的元素,可以直接赋新值。
list中元素的类型可以不同,甚至可以是一个list:
s = [‘python’, ‘java’, [‘asp’, ‘php’], ‘scheme’]
list中没有元素时,长度为零。
tuple:
与list类似,只是tuple一旦初始化后不能更改。因此没有append和insert方法。
但如果tuple中有一个元素是一个list,list中的内容改变后,相当于tuple改变了。
不能改变内容的tuple更加安全。
classmate=['Lily','Bob','Jack']classmate=('Lily','Lucy','Jane')
练习:
L=[['Apple','Google','Microsoft'],['Java','Python','Ruby','PHP'],['Adam','Bart','Lisa']]print(L[0][0])print(L[1][1])print(L[2][2])
这里发现了一个有趣的现象,如果代码误写为:
L=[['Apple','Google','Microsoft'],['Java','Python','Ruby','PHP'],['Adam','Bart','Lisa']]print([0][0])print([1][1])print([2][2])
则会报错,且错误报告表示list中涉及越界。
- Path to Python(1)
- Path to Python(2)
- A simple to "path" ElasticNet parameters ( in python)
- python 的 chromedriver' executable needs to be in PATH.
- add bin path to $PATH
- python 文件系统(1) os 和 os.path
- python模块搜索路径 (sys.path)
- LeetCode 64. Minimum Path Sum(Python)
- 【leetcode】112. Path Sum(Python & C++)
- Path to victory
- path to an application
- #!/path/to/shell [ argument ]
- Android Uri to Path
- path.resolve([from ...], to)
- python编译 错误集合 "unable to find vcvarsall.bat” 和 ValueError: [u'path']
- 解决Python下安装unrar后仍然提示Couldn't find path to unrar library...
- python运行时提示WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
- python selenium模块使用出错解决,Message: 'geckodriver' executable needs to be in PATH
- 高斯模糊
- 数组中和为0的最长子序列 三种变形
- Python自动化运维相关总结
- Lib和DLL区别及DLL的使用方法
- 数组去重,还有输入两个带值变量的交集以及并集
- Path to Python(1)
- php://filter技术分享
- 新的博客地址
- iOS开发问题---Xcode9应用上传appStore出现报错:market icon 1024*1024尺寸错误
- hdu1201 18岁生日
- Java基础入门笔记-Hello world
- [C/C++]模板函数与模板类
- ASP.NET MVC数据验证准备
- ccf模拟题 201709-4 通信网络(缩点,dfs)