Python之路----------基础 一(数据类型、变量、基本语法、流程控制)
一、 数据类型与变量
1、数据类型
整数
#Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数。
浮点数
1 #浮点数就是小数。
字符串
1 #在Python中字符串是以单引号‘’或双引号“”括起来的任意文本。
字符串的常见操作:
#!/usr/bin/env python
# -*- coding: utf-8 -*- #1、移除空白
s = ' I am currently in a state of beginner Python '
print(s.strip())
#运行结果:I am currently in a state of beginner Python #2、分割
s = 'I am currently in a state of beginner Python'
print(s.split(' '))
#运行结果:['I', 'am', 'currently', 'in', 'a', 'state', 'of', 'beginner', 'Python']
print(type(s.split(' '))) #3、长度
s = 'I am currently in a state of beginner Python'
print(len(s))
#运行结果:44 #4、索引
s = 'I am currently in a state of beginner Python'
print(s[0],s[1],s[-1])
#运行结果:I n #5、切片
s = 'I am currently in a state of beginner Python' print(s[:]) #截取全部字符串
#运行结果 :I am currently in a state of beginner Python print(s[0:3]) #截取第一位到第三位的字符
#运行结果 :I a print(s[:-3]) #截取从头开始到倒数第三个字符之前
#运行结果 :I am currently in a state of beginner Pyt print(s[6:]) #截取第七个字符到结尾
#运行结果 :urrently in a state of beginner Python print(s[::-1]) #创造一个与原字符串顺序相反的字符串
#运行结果 :nohtyP rennigeb fo etats a ni yltnerruc ma I
布尔值
1 #与其他语言一样,布尔值只有两种True Flase
空值
1 #空值是None
列表(list)
list是一种有序的集合,可以随时添加和删除其中的元素。
#!/usr/bin/env python
# -*- coding: utf-8 -*- #创建一个programming_languages列表
programming_languages = ['C', 'C++', 'JAVA'] print(type(programming_languages))
#运行结果:<class 'list'> ,programming_languages的类型为list print(len(programming_languages))
#运行结果:3 ,programming_languages的长度为3 print(programming_languages)
#运行结果:['C', 'C++', 'JAVA'] , 打印列表 print(programming_languages[2])
#运行结果:JAVA , 通过索引访问programming_languages的数据 print(programming_languages.index('JAVA'))
#运行结果:2 , 通过index方法获取programming_languages列表制定元素索引 programming_languages.append('Python')
print(programming_languages)
#运行结果:['C', 'C++', 'JAVA', 'Python'] ,通过append方法向programming_languages添加新的元素 programming_languages.clear()
print(programming_languages)
#运行结果:[] ,通过clear方法清空programming_languages所有元素 programming_languages2 = programming_languages.copy()
print(programming_languages2)
#运行结果:['C', 'C++', 'JAVA'] ,通过copy方法复制一个新的list print(programming_languages.count('JAVA'))
#运行结果:1 ,通过count方法计算元素在列表中出现的次数,如果元素不在列表中结果是0 programming_languages.remove('JAVA')
print(programming_languages)
#运行结果:['C', 'C++'] , 通过remove方法删除指定元素 programming_languages = ['C', 'C++', 'JAVA']
programming_languages.pop()
print(programming_languages)
#运行结果:['C', 'C++'] , 通过pop方法删除列表最后一个元素 programming_languages = ['C', 'C++', 'JAVA']
programming_languages.insert(2, 'PHP')
print(programming_languages)
#运行结果:['C', 'C++', 'PHP', 'JAVA'],通过insert方法在指定列表位置插入元素 programming_languages = ['C', 'C++', 'JAVA']
programming_languages.reverse()
print(programming_languages)
#运行结果:['JAVA', 'C++', 'C'] ,通过reverse方法反转列表 programming_languages = ['C', 'C++', 'JAVA', 'Object-C', 'Python', 'Ruby']
programming_languages.sort()
print(programming_languages)
#运行结果:['C', 'C++', 'JAVA', 'Object-C', 'Python', 'Ruby'],通过sort进行排序 programming_languages = ['C', 'C++', 'JAVA']
programming_languages2 = ['ruby', 'PHP']
programming_languages.extend(programming_languages2)
print(programming_languages)
#运行结果:['C', 'C++', 'JAVA', 'ruby', 'PHP'] ,通过extent方法接受列表作为参数,并将该参数的每个元素都添加到programming_languages列表中。
元组(tuple不可变列表)
#_*_coding:utf-8_*_ #创建元组
ages = (11, 22, 33, 44, 55)
或者
ages = tuple((11, 22, 33, 44, 55)) #元组只有两种方法count和index
字典(dict 无序)
#_*_coding:utf-8_*_ #创建字典 dictionary = {'a': 1, 'b': 2, 'c': 3} #通过pop方法删除指定key
dictionary.pop('a')
print(dictionary)
#运行结果:{'b': 2, 'c': 3} #通过clear方法清空字典
dictionary.clear()
print(dictionary)
#运行结果:{} #通过copy方法复制一个相同的字典
dictionary = {'a': 1, 'b': 2, 'c': 3}
dictionary2 = dictionary.copy()
print(dictionary2)
#运行结果:{'a': 1, 'b': 2, 'c': 3} #通过fromkeys创建字典
#方式一:
dictionary_key = ['a', 'b', 'c', 'd', 'e']
dictionary = dict.fromkeys(dictionary_key, '')
print(dictionary)
#运行结果:{'c': '1', 'd': '1', 'a': '1', 'b': '1', 'e': '1'} #方式二:
dictionary_key = ['a', 'b', 'c', 'd', 'e']
dictionary = {}
print(dictionary.fromkeys(dictionary_key))
#运行结果:{'c': None, 'd': None, 'a': None, 'b': None, 'e': None}
#上述两个方式没有区别,只是fromkeys一个是带有value,一个不带,不带的默认value为None #获得key的值
dictionary = {'a': 1, 'b': 2, 'c': 3}
#方法一
print(dictionary.get('a'))
#运行结果:1
print(dictionary.get('d'))
#运行结果:None
#方法二
print(dictionary['a'])
#运行结果:1
#上面两个方法的区别是get方法中key不存在不会报错会返回None。 #字典的items方法
dictionary = {'a': 1, 'b': 2, 'c': 3}
print(dictionary.items())
#运行结果:dict_items([('b', 2), ('a', 1), ('c', 3)]),常见用法如下:
for k, v in dictionary.items():
print(k, v) #字典的keys方法,获取字典key列表
dictionary = {'a': 1, 'b': 2, 'c': 3}
print(dictionary.keys())
#运行结果:dict_keys(['c', 'b', 'a']) #字典的update方法,是把另外一个字典的key/value添加到当前字典里面
dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }
dict.update(dict2)
print(dict)
#运行结果:{'Sex': 'female', 'Age': 7, 'Name': 'Zara'} #字典的values方法,获取字典value列表
dictionary = {'a': 1, 'b': 2, 'c': 3}
print(dictionary.values())
#运行结果:dict_values([3, 2, 1]) #字典popitem方法,随机删除
dictionary = {'a': 1, 'b': 2, 'c': 3}
dictionary.popitem()
print(dictionary)
#运行结果:只有两组数据 #向字典里面添加元素,并给定默认值
dictionary = {'a': 1, 'b': 2, 'c': 3}
dictionary.setdefault('d', 4)
print(dictionary)
#运行结果:{'a': 1, 'd': 4, 'b': 2, 'c': 3}
2、变量
声明变量
#_*_coding:utf-8_*_ a = 100
print(type(a)) b = 'hello word'
print(type(b)) c = True
print(type(c)) d = [0,1]
print(type(d)) e = (0,1)
print(type(e)) f = {a:0,b:1,c:2}
print(type(f)) #根据上面的运行结果我们发现,变量可以是任意类型的
变量命名规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class',
'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not',
'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with',
'yield']
二、 用户输入
#!/usr/bin/env python
#_*_coding:utf-8_*_ #name = raw_input("What is your name?") #only on python 2.x
name = input("What is your name?")
print("Hello " + name )
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*- import getpass # 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:") # 打印输入的内容
print(pwd)
三、数据运算
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
运算符优先级:
四、条件语句
1、if 条件
if <条件判断1>:
<执行1> a = 8
if a>0 :
print('a大于0')
2、if ....else
if <条件判断1>:
<执行1>
else:
<执行2>
3、if...elif...else
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
五、for 、while循环
最简单的for循环:
#_*_coding:utf-8_*_
__author__ = 'Ashin Liu' for i in range(10):
print("loop:", i )
while循环:
count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
不过死循环一般来说没有啥意义。。。。让我们改一下:
count = 0
while True:
print("你是风儿我是沙,缠缠绵绵到天涯...",count)
count +=1
if count == 100:
print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")
break
来一个猜年龄的小游戏巩固一下:
#!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 30 count = 0
while count < 3:
user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
break
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")
count += 1 #每次loop 计数器+1
else:
print("猜这么多次都不对,你个笨蛋.")
六、三元运算
'''
result = 值1 if 条件 else 值2 如果条件为真:result = 值1
如果条件为假:result = 值2
''' a = 1 if 1 > 0 else 0
b = 1 if 1 < 0 else 0
print(a)
print(b)
Python之路----------基础 一(数据类型、变量、基本语法、流程控制)的更多相关文章
- Python新手学习基础之数据类型——变量
关于Python的变量是这样描述的: 变量是存储在内存里的一个值,通过变量名,我们可以访问到该变量的值. 上面这几行代码中,price,count和sum都是变量,Python是动态类型语言,变量是不 ...
- JavaScript 基础(数据类型、函数、流程控制、对象)
一.JavaScript概述 1.1 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Script ...
- C#基础课程之二变量常量及流程控制
课堂练习:.一个四位整数 输出它的千位,百位,十位,个位 数字. ; ; % ; % ; ; Console.WriteLine("千位数" + b+" 百位数" ...
- Java基础回顾_第二部分_Java流程控制
Java基础回顾_第二部分 Java流程控制 Scanner对象(扫描器,捕获输入) import java.util.Scanner; public class Demo01 { public st ...
- python基础--数据类型、运算符、流程控制
原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143165862 ...
- Python--前端基础之JavaScript(JS的引入方式,JS的变量、常量和标识符,JS的数据类型,运算符,流程控制,JavaScript的对象)
JavaScript介绍 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释执行的,前端脚 ...
- python之路 - 基础1
1.安装windows安装双版本Python2,Python3 下载Python2和Python3https://www.python.org/downloads/ 分别安装两个版本 进入Python ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- JavaScript基础知识:数据类型,运算符,流程控制,语法,函数。
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...
- python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支
python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...
随机推荐
- WPF播放视频
在现在的项目中需要使用到播放视频的功能,本来打算使用VLC来做的.后来发现WPF 4.0之后新增了MediaElement类,可以实现视频播放. <Grid> <Grid.RowDe ...
- HDU 5769 Substring 后缀数组
Substring Problem Description ?? is practicing his program skill, and now he is given a string, he h ...
- 关于vector的内存释放问题
以前一直想当然的以为vector 的clear()函数会保证释放vector的内存,今天网上一查资料发现完全不是我想象的那样子. 比如有如下代码: tempObject obj1; tempObjec ...
- StringEscapeUtils类的转义与反转义方法
第一步.下载Jar包(commons-lang.jar) 下载地址:http://commons.apache.org/proper/commons-lang/download_lang.cgi 第二 ...
- shell example01
条件判断 if [[ -e ${1} ]]; then echo "$(tput setaf 2) found ${1} $(tput sgr0)" cat ${1} else e ...
- 一些SQL
复制当前所有,ID自动增长. insert into test(name,pass) select name,pass from test 删除当前重复 delete A fro ...
- 有了门面,程序会更加体面!- pos软件基于三层架构 -09
续上篇) 大鸟说道:“实际上没有学过设计模式去理解三层架构会有失偏颇的,毕竟分层是更高一级别的模式,所谓的架构模式.不过在程序中,有意识的遵循设计原则,却也可以有效的做出好的设计.” ...
- java分享第八天-01(线程)
创建线程:1 可以实现Runnable接口.2 可以扩展Thread类本身. 通过实现Runnable创建线程:创建一个线程,最简单的方法是创建一个实现Runnable接口的类.为了实现Runnab ...
- for循环
1.使用for循环输出矩形 public static void print1(int h,int w){ for(int i=0; i<h; i++){ f ...
- union
union是C++中一个类,平时自己用的比较少,了解了一些特性后觉得在内存要求比较高的地方还是大有可为,总结一下. C++中的struct和union内部都可以定义 数据 和 函数, 两个跟 clas ...