Python Day1
来源:互联网 发布:北交大知行平台注册 编辑:程序博客网 时间:2024/05/22 13:13
python 2 和 3 的最大的区别:
py 3 提供了对Unicode的支持
很多内容都已经支持3.0 ,但是还有一个很大的模块没有支持:twisted
退出命令行条件下的解释器:
外部创建python文件,文件名后缀为什么要.py?
为了告知别人这是一个python文件,这是一种规范
windows下运行python 文件:
linux 下应该如何直接运行:
先更改文件的权限:chmod 755 hello.py
因为在linux在系统中装了新版本的python 是默认装在 usr/local/bin/下
闲扯淡,各种版本的hello world
ruby
go
开发工具:
建议使用pycharm,可以使用社区或者专业版
使用原因,有提示,界面友好,可以调试,可以直观运行。其中主要的是能够调试
关于变量:
变量:为了存放内容(数据)让后面的代码进行调用而存在的。
python 是一门动态语言,不需要进行变量类型的声明,默认存成string 即字符串类型。
赋值:
关于变量的值得一个操作的思考:
解析:变量的赋值其实是指向内容的,其内容是在内存中的,当其另外赋值的时候,也就是在另一块内存中另外存一个内容然后再指向这个新的内容,那么对应的原来的内容还是没有变化的,故name2还是指向原来的Fennec
变量定义的规则:
变量只能是字母、数字或者下划线的任意组合
变量名的第一个字符不能是数字
关键字不能作为变量名,具体如下列表所示:
变量的约定俗成:
命名一定要能够看出来是什么意思
对于比较复杂的变量名有两种表示方式:
下划线:my_name = "Fennec"
驼峰式:MyName = "Fennec"
极其不推荐的命名方式:
python中没有常量,如果想表示一个常量,则应该大写:
大写表示这个变量不应该修改。
对于字符编码的区别和介绍:
二进制 0 1
ASCII 8位,可以表示255个符号,其中整个西方世界用了127个
GB2312 1980年,一共收入7445个字符
GBK1.0 1995年,21886个汉字,中国最常用的
GB18030 2000年,27484个汉字
Unicode: 显然ASCII码无法将世界上各种文字和符号全部表示,所以,就需要一种可以代表所有字符和符号的编码,即:Unicode(统一码,万国码,单一码)
UTF-8,是对Unicode码的压缩版,可边长的,所有的英文单词字符,在utf-8中存的时候是用ascii码使用1byte,对于中文来说使用utf8时使用3bytes(1bytes=8bit)
执行以下程序:
在python2中会有编码方面的问题,所以程序会报错。
应该在第一行加入
因为在python 3中默认使用utf8,所以不存在这种问题。
会直接输出
>>>你好,世界!
注释:
单行注释 #
多行注释
'''……
内容
……'''
多个(3个)引号除了注释,还可以打印多行
打印结果;
there are so
many words
you can see.
用户交互:
关于input:
关于格式化输出:
第一种形式:
第二种形式:
ps:%s表示输入字符串,另外的还有%d,%f等等。
另外可以把上面的age改成%d,这个时候再运行程序会报错,因为格式不是数字
检测方式可以使用:
此时需要进行类型转换
正确的程序如下:
关于python2中raw_input和input的区别:
python3中input和python2中raw_input 是同一种东西,而python2中的input是一种输入的是什么就是样的就是什么样的格式的语法,不建议使用,忘记就好。
第三种形式:
第四种形式:
以上会密码会直接在输入时显示,结果如下
可以使用getpass来屏蔽密码显示
显示结果:
if else 条件跳转语句
while 循环
#这里同样可以用else,原因是,这里的else #是指上面的内容如果正常执行结束,则执行else的内容,否则如果被break,则不执行
py 3 提供了对Unicode的支持
很多内容都已经支持3.0 ,但是还有一个很大的模块没有支持:twisted
第一个程序Helloworld:
>>>print('hello world!')hello world
退出命令行条件下的解释器:
>>>exit()
外部创建python文件,文件名后缀为什么要.py?
为了告知别人这是一个python文件,这是一种规范
windows下运行python 文件:
>>>python hello.py
linux 下应该如何直接运行:
先更改文件的权限:chmod 755 hello.py
因为在linux在系统中装了新版本的python 是默认装在 usr/local/bin/下
另外在文件中应该加入:
#!usr/bin/env python 表示在系统环境变量找python解释器,其中env表示在环境变量中查找,可以使用使用系统默认的python
#!usr/bin/python 表示在usr/bin 中直接找,直接用的系统原装的python闲扯淡,各种版本的hello world
c++
#include <iostream>int main(void){std::cout<<"hello world!";return 0;}
c
#include<stdio.h>int main(void){printf("hello world!");return 0;}
java
public class HelloWorld{public static void main(String [] args){System.out.println("hello world!");}}
<?phpecho"hello world!"?>
ruby
puts"hello world!"
go
package mainimport "fmt"func main(){fmt.printf("hello world!");}
开发工具:
建议使用pycharm,可以使用社区或者专业版
使用原因,有提示,界面友好,可以调试,可以直观运行。其中主要的是能够调试
关于变量:
变量:为了存放内容(数据)让后面的代码进行调用而存在的。
python 是一门动态语言,不需要进行变量类型的声明,默认存成string 即字符串类型。
赋值:
name = "Fennec"
关于变量的值得一个操作的思考:
name = "Fennec"name2 = nameprint("My name is ",name,name2)name = "LazyFennec"name = "LazyFennec"print("My name is ",name,name2)#(question what is the name2 now)
解析:变量的赋值其实是指向内容的,其内容是在内存中的,当其另外赋值的时候,也就是在另一块内存中另外存一个内容然后再指向这个新的内容,那么对应的原来的内容还是没有变化的,故name2还是指向原来的Fennec
变量定义的规则:
变量只能是字母、数字或者下划线的任意组合
变量名的第一个字符不能是数字
关键字不能作为变量名,具体如下列表所示:
[and,as,assert,class,continue,def,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield]
变量的约定俗成:
命名一定要能够看出来是什么意思
对于比较复杂的变量名有两种表示方式:
下划线:my_name = "Fennec"
驼峰式:MyName = "Fennec"
极其不推荐的命名方式:
xingming = "Fennec"姓名 = "Fennec"
这两种都是很low的python中没有常量,如果想表示一个常量,则应该大写:
PIE = 3.1415926
大写表示这个变量不应该修改。
对于字符编码的区别和介绍:
二进制 0 1
ASCII 8位,可以表示255个符号,其中整个西方世界用了127个
GB2312 1980年,一共收入7445个字符
GBK1.0 1995年,21886个汉字,中国最常用的
GB18030 2000年,27484个汉字
Unicode: 显然ASCII码无法将世界上各种文字和符号全部表示,所以,就需要一种可以代表所有字符和符号的编码,即:Unicode(统一码,万国码,单一码)
其规定了现有的字符和符号最少由16位来表示(2个字节),即:2**16 = 65536。注:此处说的是最少,即有可能更多。
UTF-8,是对Unicode码的压缩版,可边长的,所有的英文单词字符,在utf-8中存的时候是用ascii码使用1byte,对于中文来说使用utf8时使用3bytes(1bytes=8bit)
执行以下程序:
name = "你好,世界!"print(">>>",name)
在python2中会有编码方面的问题,所以程序会报错。
应该在第一行加入
# -*- coding:utf-8 -*-
因为在python 3中默认使用utf8,所以不存在这种问题。
会直接输出
>>>你好,世界!
注释:
单行注释 #
多行注释
'''……
内容
……'''
多个(3个)引号除了注释,还可以打印多行
例子:
msg = '''there are somany wordsyou can see.'''print(msg)
打印结果;
there are so
many words
you can see.
用户交互:
关于input:
username = input("username")password = input("password")print(username,password)
关于格式化输出:
第一种形式:
name = input("name")age = input("age")job = input("job")info = '''--------info of '''+name+'''--------Name:'''+name+'''Age:'''+age+'''Job:'''+jobprint(info)
第二种形式:
name = input("name")age = input("age")job = input("job")info = '''--------info of %s--------Name:%sAge:%sJob:%s''' %(name,name,age,job)print(info)
ps:%s表示输入字符串,另外的还有%d,%f等等。
另外可以把上面的age改成%d,这个时候再运行程序会报错,因为格式不是数字
name = input("name")age = input("age")job = input("job")info = '''--------info of %s--------Name:%sAge:%dJob:%s''' %(name,name,age,job)print(info)
检测方式可以使用:
print(type(age))>>> <class 'str'>
此时需要进行类型转换
age = int(input("age"))
正确的程序如下:
name = input("name")age = int(input("age"))job = input("job")info = '''--------info of %s--------Name:%sAge:%dJob:%s''' %(name,name,age,job)print(info)
关于python2中raw_input和input的区别:
python3中input和python2中raw_input 是同一种东西,而python2中的input是一种输入的是什么就是样的就是什么样的格式的语法,不建议使用,忘记就好。
第三种形式:
name = input("name")age = int(input("age"))job = input("job")info = '''--------info of {_name}--------Name:{_name}Age:{_age}Job:{_job}'''.format(_name = name, _age = age, _job = job)print(info)
第四种形式:
name = input("name")age = int(input("age"))job = input("job")info = '''--------info of {0}--------Name:{0}Age:{1}Job:{2}'''.format(name,age,job)print(info)
关于用户密码问题
username = input("username")password = input("password")print(username,password);
以上会密码会直接在输入时显示,结果如下
>>>username:fennec>>>password:123456>>>fennec 123456
可以使用getpass来屏蔽密码显示
import getpassusername = input("username")password = getpass.getpass("password")print(username,password);
显示结果:
>>>username:fennec>>>password:>>>fennec 123456
注意,上面的getpass一般只在cmd中有效,在编程软件中如PyCharm无效if else 条件跳转语句
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Fennec D_username = "fennec"_password = "123456"username = input("username:")password = input("password:")if _username == username and _password == password: print("Welcome user {name} login...".format(name=username))else: print("Invalid username or password!")
while 循环
#猜数字number = 41count = 0while count<3: count += 1 guess_num = int(input("guess the number:")) if guess_num== number: print("oh yeah,you got it!") break elif guess_num<number: print("you may try to guess the bigger one.") else: print("you may try to guess the smaller one.")else: #python 特有的,其他语言并不支持那么做 print("hey man,you have tried so many times, you lose the game")
#for循环for i in range(10): print(i)
#猜数字number = 41count = 0for count in range(3): count += 1 guess_num = int(input("guess the number:")) if guess_num== number: print("oh yeah,you got it!") break elif guess_num<number: print("you may try to guess the bigger one.") else: print("you may try to guess the smaller one.")else: print("hey man,you have tried so many times, you lose the game")
#这里同样可以用else,原因是,这里的else #是指上面的内容如果正常执行结束,则执行else的内容,否则如果被break,则不执行
#for循环for i in range(0,10,2):#这里的range 的三个参数分别表示 开始位置,结束位置,步长 print(i)
#continuefor i in range(10):if i<3:print("i:",i)else:continue #跳出本次循环,执行下一次循环print("hehe...")
#九九乘法表for i in range(1,10): for j in range(1,i+1): print("{0} * {1}= {sum}".format(i,j,sum=i*j),end="\t") print()
显示如下图所示
0 0
- Day1、Python
- Python-day1
- python day1
- Python Day1
- Python day1
- Python-day1
- Python day1
- python-day1
- Python Day1
- Python-Day1(Python基础)
- python-Day1-print
- python-Day1- raw_input
- Python 初学记录 day1
- learnning Python day1
- Python编程入门---day1
- python学习笔记 day1
- Day1 Python学习心得
- python学习-day1
- 问题五十:怎么用ray tracing画blobs
- Android图片加载库—Glide 最全面解析用法
- 使用Jquery与vuejs操作dom比较
- UIVIew 的opaque属性
- 2014.3 USACO月赛T2 The Lazy Cow
- Python Day1
- Go in action
- LeetCode 485. Max Consecutive Ones
- 面向对象的设计原则和设计模式
- Mac OS下包管理器Homebrew的安装与使用
- LeetCode 487. Max Consecutive Ones II
- A - Lesha and array splitting
- *.do的项目
- APACHE LOG4J™ 2 学习笔记-log4j2 环境部署到各种类型输出+maven\mysql\滚动文件\控制台\异步\过滤器