路漫漫其修远兮
吾将上下而求索

python学习:变量,编码,list,判断,循环,字典

Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。

变量
十六进制表示整数用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2
对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5
如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识
'I\'m \"OK\"!' 表示的字符串内容是:I'm "OK"!

布尔值运算 
print (True or True)
print (True or False)
print (True and True)
print (True and False)
print (not True)
print (not False) 
 
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值 

变量名必须是大小写英文、数字和_的组合,且不能用数字开头
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言
在Python中,通常用全部大写的变量名表示常量,其实也是一个变量,可以被改变
Python的整数没有大小限制
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。
 
+-*/ 和平常一样,//求整,%求余 

三种编码比较
字符	ASCII	    Unicode	            UTF-8
 A	    01000001	00000000 01000001	01000001
中	       x	    01001110 00101101   11100100 10111000 10101101 
 
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码 
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,我们看到的是Unicode编码,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件 


在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言 
print (ord('中'))   #查看‘中’的unicode码的十进制数
20013
print (chr(20013))  #查看显示的文字
中 
print ('\u4e2d')  #十六进制显示方法
中 

Python对bytes类型的数据用带b前缀的单引号或双引号表示:
print ('ABC'.encode('ascii'))
b'ABC'
print ('中文'.encode('utf8')) 
b'\xe4\xb8\xad\xe6\x96\x87'       #和上面表格的utf8显示的结果是一样的,就是一个汉字要存放三个字节 
print (b'ABC'.decode('ascii'))
ABC
print (b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')) 
中文 
 
设置编码格式 
#!/usr/bin/env python3
# -*- coding: utf-8 -*- 
 
a = 'hello %s, you have %d' % ('andy',100)  #可以将变量加上字符串赋值给变量
print (a)
hello andy, you have 100 
 
打印说明
常见的占位符有:
占位符	替换内容
%d	整数
%f	浮点数
%s	字符串
%x	十六进制整数

如果不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串
当需要用显示%本身的时候,用%%来表示一个%

print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
print ('abc','def','fgk')

输入变量,然后打印出来
print ('abc','def','fgk')
name = input('hello :')
下面这两种都可以,一种是拼接,一种是作为变量
print ('name is ', name)
print ('name is ' % name)
 
#开头为注释,Python程序是大小写敏感的 
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进 
 
\t \n为转义符,如果不需要转义,加\ 
print('\\\n\\')
\
\ 
 
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义 
如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容
下面的例子,两个功能可以放到一块
print (r'''\\
\n
\\ ''')  
 

 
list是一种有序的集合,可以随时添加和删除其中的元素,就是字符串数组
classmates = ['andy','bob','tom']
print (classmates)
print (len(classmates))
print (classmates[0])
#可以用-1做索引,直接获取最后一个元素
print (classmates[-1]) 
classmates.append('mary')
print (classmates)
classmates.insert (1,'dave')
print (classmates)
classmates.pop (1)
print (classmates) 

['andy', 'bob', 'tom']
3
andy
tom
['andy', 'bob', 'tom', 'mary']
['andy', 'dave', 'bob', 'tom', 'mary']
['andy', 'bob', 'tom', 'mary'] 
 

元组tuple和list非常类似,但是tuple一旦初始化就不能修改 

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全 
tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来 


判断语句
if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>


循环语句
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来
sum = 0
for x in range(101):
    sum = sum + x
print(sum)

在循环中,break语句可以提前退出循环
n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。



字典可以修改
d = {'andy': 85, 'bob':78, 'mary':98}
print (d['andy'])
d.pop('Bob')  #删除key
和list比较,dict有以下几个特点:
    查找和插入的速度极快,不会随着key的增加而变慢;
    需要占用大量的内存,内存浪费多。

要避免key不存在的错误,有两种办法,
一是通过in判断key是否存在    'a' in dic  返回true or false
二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value    
    >>> d.get('Thomas')
    >>> d.get('Thomas', -1)
    -1
三是dict.has_key('Age')  返回true or false    

int('123') #将数字字符串转换为整数
float('123.456')  #将浮点数字符串转换为浮点数
str(1.23)  #将整数转换为字符串
bool(1)  #转换为bool型变量True或False

a = abs # 变量a指向abs函数
a(-1) # 所以也可以通过a调用abs函数

未经允许不得转载:江哥架构师笔记 » python学习:变量,编码,list,判断,循环,字典

分享到:更多 ()

评论 抢沙发

评论前必须登录!