wxg学习笔记-老男孩day1

附:

1.编译型语言:运行前需要编译,生成可执行文件(机器码),可执行文件之间通过链接程序结合。比如c,c++

解释性语言:一次解释一句。在程序运行的前一刻,还只有源程序而没有可执行程序,程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,所以必须要解释器,运行也更耗时。比如python

 

2. 动态语言:不用先声明数据类型 。比如python

静态语言:要声明数据类型。比如c/c++

 

3.强类型语言(类型安全):改变数据类型需要强制转换,比如Python

弱类型语言(类型不安全):一个变量可赋不同类型的值。

 

所以python是动态解释性的强类型定义语言。

python在执行代码时,也先进行了一定程度(生成的不是机器码)编译,所以python是一门先编译后解释语言。

python执行时会在当前目录下寻找对应的pyc文件,如果是第一次执行,则没有.pyc文件,那么就在内存中进行一次编译,完成后交给解释器一步一步执行。执行完后将内存中的编译对象(不是机器码)存在.pyc文件中,下次执行时不在编译,直接加载pyc。

若代码经过修改,python会比较最新的修改时间和pyc保存时间,以确定是否需要再次编译并生成新的Pyc文件。

 

一、变量

1. 变量的作用:为了存东西

2.name = weng

name2 = name

name2指向weng所在的内存地址,所以如果此时改变name的赋值,name2不改变。本质上name和name2没有必然联系。

 

3. 变量名是数字、字母、下划线的组合。第一个字符不能输数字,且python关键字不能声明为变量

4. 变量名要有含义,不要用a/b/c等无意义的变量名

 

二、字符编码

  1. ASCII:只占用一个字节(byte),也就是8位(bit),只能存储255的字符
  2. Unicode:所有字符占用2个字节,而英文的编码只需要8位即可,故Unicode对于英文非常浪费内存
  3. UTF-8:灵活选择,英文只占用1字节,中文占3字节
  4. 在python2.x中,需要声明utf-8否则对中文乱码,3.x则默认utf-8,不需要声明也可支持中文
  5.  

     

三、注释:

1. 单行注释:

1 #此行为注释,不执行

2. 多行注释:

'''
三层引号中为注释,
不执行
'''
#对变量赋值用三层单引号括起,可进行多行打印
msg = '''a
             b
            c'''
print(msg)

 

四、格式化输出:

(1)引号之间为多行变量赋值,%s是占位符,‘s’表示此处为字符串,引号后用%连接依次对应各占位符的变量。

1 info = '''
2             ------info of %s------
3 Name:%s
4 Age:%s
5 Job:%s
6 Salary:%s
7 '''%(name,name,age,job,salary)
8 print(info)

 

 (2)引号之后用.format()进行对应位置的赋值

info = '''
            ------info of {_name}------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
              _name=name,
              _age=age,
              _job=job,
              _salary=salary)
print(info2)

(3)采用.format()和序号给对应位置赋值

info = '''
Name:{0}
Age:{1}
'''.format(name,age)

五、输入:

1.input 只传递字符串。

1 age = input("age:")

2.输入其他格式需要将input传递的字符串进行格式转换

1 age = int(input("age:")

3.python2.x中,raw_input和python3.x中input含义相同。2.x中input用法复杂,只接受输入的格式:

#输入给name的值为变量名weng,而weng没有用双引号引用,则将weng的值赋给name,即将weng当做变量处理。
>>>weng = 333
>>>name = input("name:")
name:weng
>>>print(name)
333


#weng用双引号引用,则将weng看做字符串,赋给name
>>>name=input("name:")
name:"weng"
>>>print(name)
weng

六、循环

1. while...else...当条件为False时执行else:

1 while True:
2                 ...
3 else:
4         ...

 

2.for...else...当循环正常走完后执行else,若是break,则不执行else

3.

for i in range(0,10,2)

其中2表示步长,即每隔一个数取一个数。

4.continue:跳出本次循环,直接进入下一次循环。

5.break:结束当前所在循环(外层循环继续)

posted @ 2017-07-21 09:28  不倒翁desire  阅读(400)  评论(0编辑  收藏  举报